<?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.39 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-netconf-https-notif-cbor-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="https-notif-cbor">CBOR Encoding for HTTPS-based YANG Notifications Transport</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-netconf-https-notif-cbor-01"/>
    <author initials="B. M." surname="Chittapragada" fullname="Bharadwaja Meherrushi Chittapragada">
      <organization>National Institute of Technology Karnataka</organization>
      <address>
        <email>meherrushi2@gmail.com</email>
      </address>
    </author>
    <author initials="S." surname="Bhat" fullname="Siddharth Bhat">
      <organization>National Institute of Technology Karnataka</organization>
      <address>
        <email>siddharth.bhat10@gmail.com</email>
      </address>
    </author>
    <author initials="V. T." surname="Rao" fullname="Vartika T Rao">
      <organization>National Institute of Technology Karnataka</organization>
      <address>
        <email>vartikatrao@gmail.com</email>
      </address>
    </author>
    <author initials="H." surname="Arshad" fullname="Hayyan Arshad">
      <organization>National Institute of Technology Karnataka</organization>
      <address>
        <email>hayyanhamnah@gmail.com</email>
      </address>
    </author>
    <author initials="M. P." surname="Tahiliani" fullname="Mohit P. Tahiliani">
      <organization>National Institute of Technology Karnataka</organization>
      <address>
        <email>tahiliani@nitk.edu.in</email>
      </address>
    </author>
    <date year="2026" month="July" day="06"/>
    <area/>
    <workgroup>Network Configuration</workgroup>
    <keyword>cbor</keyword>
    <keyword>https</keyword>
    <keyword>yang</keyword>
    <abstract>
      <?line 60?>

<t>This document extends <xref target="I-D.draft-ietf-netconf-https-notif"/> by introducing CBOR encoding for YANG notifications over HTTPS transport in addition to the existing JSON and XML encoding schemes.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://MeherRushi.github.io/draft-ietf-netconf-https-notif-cbor/draft-ietf-netconf-https-notif-cbor.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-netconf-https-notif-cbor/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Network Configuration  mailing list (<eref target="mailto:netconf@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/netconf/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/netconf/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/MeherRushi/draft-ietf-netconf-https-notif-cbor"/>.</t>
    </note>
  </front>
  <middle>
    <?line 65?>

<section anchor="introduction">
      <name>Introduction</name>
      <sourcecode type="quote"><![CDATA[
CBOR offers an efficient and compact representation of YANG.
]]></sourcecode>
      <t>This document introduces a CBOR <xref target="RFC8949"/> encoding scheme for event notifications over HTTPS by using the framework proposed in <xref target="I-D.draft-ietf-netconf-https-notif"/> which supports transfer of YANG notifications over HTTPS using JSON and XML encoding schemes.</t>
      <t>In <xref target="I-D.draft-ietf-netconf-https-notif"/>, the capabilities HTTP-target resource allows a publisher to retrieve supported encoding formats via GET requests, while the relay-notification resource enables the publisher to send YANG notifications via POST requests. These requests and responses use different content types based on the selected encoding scheme. This document defines support for CBOR encoding, in addition to the JSON and XML encodings defined in <xref target="I-D.draft-ietf-netconf-https-notif"/>.</t>
      <t>Examples of the GET and POST request and reply encoded in CBOR are also provided.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>This document uses the following terms defined in Sections 2, 3, and 4 of <xref target="I-D.draft-ietf-netconf-https-notif"/>:</t>
      <ul spacing="normal">
        <li>
          <t>Capabilities Resource</t>
        </li>
        <li>
          <t>Relay-Notification</t>
        </li>
        <li>
          <t>Event Notification</t>
        </li>
      </ul>
      <t>The following term(s) are defined in Subscription to YANG Notifications <xref target="RFC8639"/>:</t>
      <ul spacing="normal">
        <li>
          <t>Publisher</t>
        </li>
        <li>
          <t>Receiver</t>
        </li>
        <li>
          <t>Subscribed Notifications</t>
        </li>
      </ul>
      <t>The following term(s) are defined in Encoding of Data Modeled with YANG in the Concise Binary Object Representation (CBOR) <xref target="RFC9254"/>:</t>
      <ul spacing="normal">
        <li>
          <t>Diagnostic Notation</t>
        </li>
        <li>
          <t>YANG Schema Item iDentifier (or "YANG SID" or simply "SID"): 63-bit unsigned integer used to identify different YANG items.</t>
        </li>
      </ul>
    </section>
    <section anchor="cbor-encoding-of-the-notifications">
      <name>CBOR Encoding of the notification(s)</name>
      <t>YANG notifications can be encoded in CBOR using Names or SIDs in keys. Notifications encoded using names is similar to JSON encoding as defined in Section 4.1 of <xref target="I-D.draft-ietf-netconf-https-notif"/>. Notification encoded using YANG-SIDs replaces the names of the keys of the CBOR encoded message with a 63 bit unsigned integer.  In this case, the term 'SID' is defined in Section 3.2 of <xref target="RFC9254"/>, and the keys of the encoded data use SID value as mentioned in 4.3.2 of this document.</t>
      <t>The "application/yang-data+cbor" media type used throughout this document is defined in Section 9 of <xref target="RFC9254"/>. That registration also defines the "id" parameter: "application/yang-data+cbor; id=name" for the name-based keys described in this document, and "application/yang-data+cbor; id=sid" for the SID-based keys.</t>
      <section anchor="capabilities-request">
        <name>Capabilities Request</name>
        <t>The publisher sends a request to the receiver to learn its capabilities. In the below example, the “Accept” states that the publisher wants to receive the capabilities response in CBOR but if not supported then in XML or JSON in that order.</t>
        <sourcecode type="http-request"><![CDATA[
GET /some/path/capabilities HTTP/1.1
   Host: example.com
   Accept: application/yang-data+cbor; id=name, application/yang-data+xml;q=0.9, application/yang-data+json;q=0.5
]]></sourcecode>
      </section>
      <section anchor="capabilities-response">
        <name>Capabilities Response</name>
        <t>If the receiver is able to reply using “application/yang-data+cbor” and assuming it is only capable of receiving CBOR encoded messages the response would look like this</t>
        <section anchor="cbor-using-names-as-keys-receiver-accepts-cbor-only">
          <name>CBOR using names as keys (receiver accepts CBOR only)</name>
          <sourcecode type="http-message"><![CDATA[
   HTTP/1.1 200 OK
   Date: Tue, 4 March 2025 20:33:30 GMT
   Server: example-server
   Cache-Control: no-cache
   Content-Type: application/yang-data+cbor; id=name
]]></sourcecode>
          <t>Diagnostic Notation:</t>
          <artwork><![CDATA[
   {
   "ietf-https-notif-transport:receiver-capabilities": {
     "receiver-capability": [
       "urn:ietf:params:yang-notif:https-capability:encoding:cbor"
        ]
      }
   }
]]></artwork>
          <t>CBOR Encoding:</t>
          <artwork><![CDATA[
A1                                      # map(1)
   78 30                                # text(48)
      696574662D68747470732D6E6F7469662D7472616E73706F72743A72656365697665722D6361706162696C6974696573 # "ietf-https-notif-transport:receiver-capabilities"
   A1                                   # map(1)
      73                                # text(19)
         72656365697665722D6361706162696C697479 # "receiver-capability"
      81                                # array(1)
         78 39                          # text(57)
            75726E3A696574663A706172616D733A79616E672D6E6F7469663A68747470732D6361706162696C6974793A656E636F64696E673A63626F72 # "urn:ietf:params:yang-notif:https-capability:encoding:cbor"
]]></artwork>
          <t>If the receiver is able to reply using “application/yang-data+cbor” and assuming it is not capable of receiving cbor, but can receive both json and xml notifications:</t>
        </section>
        <section anchor="cbor-using-names-as-keys-receiver-accepts-json-and-xml">
          <name>CBOR using names as keys (receiver accepts JSON and XML)</name>
          <sourcecode type="http-message"><![CDATA[
   HTTP/1.1 200 OK
   Date: Tue, 4 March 2025 20:33:30 GMT
   Server: example-server
   Cache-Control: no-cache
   Content-Type: application/yang-data+cbor; id=name
]]></sourcecode>
          <t>Diagnostic Notation:</t>
          <artwork><![CDATA[
   {
   "ietf-https-notif-transport:receiver-capabilities": {
     "receiver-capability": [
       "urn:ietf:params:yang-notif:https-capability:encoding:json",
       "urn:ietf:params:yang-notif:https-capability:encoding:xml"
        ]
      }
   }
]]></artwork>
          <t>CBOR Encoding:</t>
          <artwork><![CDATA[
A1                                      # map(1)
   78 30                                # text(48)
      696574662D68747470732D6E6F7469662D7472616E73706F72743A72656365697665722D6361706162696C6974696573 # "ietf-https-notif-transport:receiver-capabilities"
   A1                                   # map(1)
      73                                # text(19)
         72656365697665722D6361706162696C697479 # "receiver-capability"
      82                                # array(2)
         78 39                          # text(57)
            75726E3A696574663A706172616D733A79616E672D6E6F7469663A68747470732D6361706162696C6974793A656E636F64696E673A6A736F6E # "urn:ietf:params:yang-notif:https-capability:encoding:json"
         78 38                          # text(56)
            75726E3A696574663A706172616D733A79616E672D6E6F7469663A68747470732D6361706162696C6974793A656E636F64696E673A786D6C # "urn:ietf:params:yang-notif:https-capability:encoding:xml"
]]></artwork>
          <t>If the receiver cannot encode the capabilities response in "application/yang-data+cbor" but is itself only able to receive CBOR-encoded notifications, it replies using JSON (or XML) while still advertising the CBOR capability:</t>
          <sourcecode type="http-message"><![CDATA[
   HTTP/1.1 200 OK
   Date: Tue, 4 March 2025 20:33:30 GMT
   Server: example-server
   Cache-Control: no-cache
   Content-Type: application/yang-data+json

   {
   "ietf-https-notif-transport:receiver-capabilities": {
     "receiver-capability": [
       "urn:ietf:params:yang-notif:https-capability:encoding:cbor"
        ]
      }
   }
]]></sourcecode>
        </section>
      </section>
      <section anchor="relay-notification-request">
        <name>Relay Notification request</name>
        <t>The publisher sends an HTTP POST request to the "relay-notification" resource on the receiver with the "Content-Type" header set to "application/yang-data+cbor" in case the receiver is CBOR capable and a body containing the notification encoded in CBOR. The "id" parameter of the media type indicates whether the keys are encoded as names ("id=name") or as SIDs ("id=sid").</t>
        <section anchor="cbor-encoding-using-names-as-keys">
          <name>CBOR encoding using names as keys</name>
          <sourcecode type="http-request"><![CDATA[
POST /some/path/relay-notification HTTP/1.1
   Host: example.com
   Content-Type: application/yang-data+cbor; id=name
]]></sourcecode>
          <t>Diagnostic Notation:</t>
          <sourcecode type="http-response"><![CDATA[
   {
     "ietf-https-notif:notification": {
       "eventTime": "2013-12-21T00:01:00Z",
       "example-mod:event" : {
         "event-class" : "fault",
         "reporting-entity" : { "card" : "Ethernet0" },
         "severity" : "major"
       }
     }
   }
]]></sourcecode>
          <t>CBOR Encoding:</t>
          <artwork><![CDATA[
A1                                      # map(1)
   78 1D                                # text(29)
      696574662D68747470732D6E6F7469663A6E6F74696669636174696F6E # "ietf-https-notif:notification"
   A2                                   # map(2)
      69                                # text(9)
         6576656E7454696D65             # "eventTime"
      74                                # text(20)
         323031332D31322D32315430303A30313A30305A # "2013-12-21T00:01:00Z"
      71                                # text(17)
         6578616D706C652D6D6F643A6576656E74 # "example-mod:event"
      A3                                # map(3)
         6B                             # text(11)
            6576656E742D636C617373      # "event-class"
         65                             # text(5)
            6661756C74                  # "fault"
         70                             # text(16)
            7265706F7274696E672D656E74697479 # "reporting-entity"
         A1                             # map(1)
            64                          # text(4)
               63617264                 # "card"
            69                          # text(9)
               45746865726E657430       # "Ethernet0"
         68                             # text(8)
            7365766572697479            # "severity"
         65                             # text(5)
            6D616A6F72                  # "major"
]]></artwork>
        </section>
        <section anchor="sid-keys">
          <name>CBOR encoding using SIDs as keys</name>
          <sourcecode type="http-request"><![CDATA[
POST /some/path/relay-notification HTTP/1.1
   Host: example.com
   Content-Type: application/yang-data+cbor; id=sid
]]></sourcecode>
          <t>Diagnostic Notation:</t>
          <artwork><![CDATA[
   {
     2601: {                        / ietf-https-notif:notification (SID 2601) /
       1: "2013-12-21T00:01:00Z",   / eventTime (SID 2602) /
       57400: {                     / example-mod:event (SID 60001) /
         1: "fault",                / event-class (SID 60002) /
         2: {                       / reporting-entity (SID 60003) /
           1: "Ethernet0"           / card (SID 60004) /
         },
         4: "major"                 / severity (SID 60005) /
       }
     }
   }
]]></artwork>
          <t>The above assumes that the YANG modules for the notification envelope and for the event have corresponding .sid files with the following entries:</t>
          <artwork><![CDATA[
"item": [
      {
        "namespace": "module",
        "identifier": "ietf-https-notif",
        "sid": "2600"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-https-notif:notification",
        "sid": "2601"
      },
      {
        "namespace": "data",
        "identifier": "/ietf-https-notif:notification/eventTime",
        "sid": "2602"
      },
      {
        "namespace": "module",
        "identifier": "example-mod",
        "sid": "60000"
      },
      {
        "namespace": "data",
        "identifier": "/example-mod:event",
        "sid": "60001"
      },
      {
        "namespace": "data",
        "identifier": "/example-mod:event/event-class",
        "sid": "60002"
      },
      {
        "namespace": "data",
        "identifier": "/example-mod:event/reporting-entity",
        "sid": "60003"
      },
      {
        "namespace": "data",
        "identifier": "/example-mod:event/reporting-entity/card",
        "sid": "60004"
      },
      {
        "namespace": "data",
        "identifier": "/example-mod:event/severity",
        "sid": "60005"
      }
    ]
]]></artwork>
          <t>The SID values shown above are illustrative examples only; they are not SIDs registered for any real YANG module. A deployment uses the SIDs actually assigned to the modules involved.</t>
          <t>Keys are encoded as SID deltas relative to the reference SID of the enclosing map, as defined in Section 3.2 of <xref target="RFC9254"/>. Because "example-mod:event" is defined in a different module than its parent, its delta is large (60001 - 2601 = 57400); alternatively, it MAY be encoded as an absolute SID using CBOR tag 47.</t>
          <t>CBOR Encoding:</t>
          <artwork><![CDATA[
A1                                      # map(1)
   19 0A29                              # unsigned(2601)
   A2                                   # map(2)
      01                                # unsigned(1)
      74                                # text(20)
         323031332D31322D32315430303A30313A30305A # "2013-12-21T00:01:00Z"
      19 E038                           # unsigned(57400)
      A3                                # map(3)
         01                             # unsigned(1)
         65                             # text(5)
            6661756C74                  # "fault"
         02                             # unsigned(2)
         A1                             # map(1)
            01                          # unsigned(1)
            69                          # text(9)
               45746865726E657430       # "Ethernet0"
         04                             # unsigned(4)
         65                             # text(5)
            6D616A6F72                  # "major"
]]></artwork>
        </section>
      </section>
      <section anchor="relay-notification-response">
        <name>Relay Notification Response</name>
        <t>The response on success SHOULD be from the 2XX class of codes. In case of corrupted or malformed event, the response SHOULD be an appropriate HTTP error response.</t>
      </section>
      <section anchor="legacy-rfc-5277-notifications">
        <name>Legacy RFC 5277 Notifications</name>
        <t><xref target="I-D.draft-ietf-netconf-https-notif"/> defines optional support for sending legacy notifications, as defined in NETCONF Event Notifications <xref target="RFC5277"/>, using the "application/xml" media type. This legacy mode exists for interoperability with publishers that are not aware of YANG media types; a receiver advertises support for it using the "urn:ietf:params:yang-notif:https-capability:rfc5277-notif" capability.</t>
        <t>The CBOR encoding defined in this document applies to YANG-modeled notifications, including the eventTime envelope, and is advertised using the "urn:ietf:params:yang-notif:https-capability:encoding:cbor" capability registered by this document. Because <xref target="I-D.draft-ietf-netconf-https-notif"/> defines the legacy RFC 5277 mode as XML-only, this document does not define a CBOR variant of it. A publisher that is able to produce CBOR is YANG-aware and therefore uses the CBOR encoding described here rather than the legacy mode.</t>
      </section>
      <section anchor="implementation-status">
        <name>Implementation Status</name>
        <t>This section records the status of known implementations of the specification defined by this document at the time of posting. The information is provided to assist the IETF in evaluating the maturity and implementability of the specification. This section will be removed prior to publication as an RFC.</t>
      </section>
      <section anchor="implementation-https-notification-cbor-draft-implementation">
        <name>Implementation: HTTPS Notification CBOR Draft Implementation</name>
        <ul spacing="normal">
          <li>
            <t><em>Organization</em>:
National Institute of Technology Karnataka</t>
          </li>
          <li>
            <t><em>Implementation Name / Web Page</em>:
HTTPS Notification CBOR Draft Implementation
<eref target="https://github.com/MeherRushi/https-notif-draft-impl">https://github.com/MeherRushi/https-notif-draft-impl</eref></t>
          </li>
          <li>
            <t><em>Description</em>:
This implementation provides a Python-based prototype of the mechanism defined in this document for transporting YANG notifications over HTTPS using JSON, XML and CBOR encoding. It supports name-based CBOR encoding and includes basic publisher and receiver roles to demonstrate end-to-end message exchange.</t>
          </li>
          <li>
            <t><em>Maturity Level</em>:  Prototype</t>
          </li>
          <li>
            <t><em>Coverage</em>:
            </t>
            <ul spacing="normal">
              <li>
                <t>Capabilities discovery via HTTP GET to /capabilities</t>
              </li>
              <li>
                <t>Event publication via HTTP POST to /relay-notification</t>
              </li>
              <li>
                <t>Support for name-based CBOR encoding as described in this document</t>
              </li>
            </ul>
          </li>
          <li>
            <t><em>Version Compatibility</em>:
The implementation is based on draft-ietf-netconf-https-notif-16 and draft-ietf-netconf-https-notif-cbor-00.</t>
          </li>
          <li>
            <t><em>Licensing</em>:
Freely distributable under an MIT-style license.</t>
          </li>
          <li>
            <t><em>Implementation Experience</em>:
            </t>
            <ul spacing="normal">
              <li>
                <t>Developed and demonstrated at IETF 121 and 122 Hackathon.</t>
              </li>
              <li>
                <t>Worked toward enabling CBOR encoding in the libyang library as part of the hackathon effort (<eref target="https://datatracker.ietf.org/meeting/123/materials/slides-123-hackathon-sessd-adding-cbor-support-in-libyang-00">slides</eref>).</t>
              </li>
              <li>
                <t>Evaluated CBOR efficiency compared to JSON and XML in constrained environments.</t>
              </li>
              <li>
                <t>Built tooling to simulate and measure notification transfer behavior over varying network conditions.</t>
              </li>
              <li>
                <t>Diagnostic encoding examples used for validation of CBOR structures.</t>
              </li>
            </ul>
          </li>
          <li>
            <t><em>Contact Information</em>:
            </t>
            <ul spacing="normal">
              <li>
                <t>Bharadwaja Meherrushi Chittapragada (meher.211cs216@nitk.edu.in)</t>
              </li>
              <li>
                <t>Vartika T Rao (vartikatrao.211it077@nitk.edu.in)</t>
              </li>
              <li>
                <t>Siddharth Bhat (sidbhat.211ee151@nitk.edu.in)</t>
              </li>
              <li>
                <t>Hayyan Arshad (hayyanarshad.211cs222@nitk.edu.in)</t>
              </li>
            </ul>
          </li>
          <li>
            <t><em>Last Updated</em>:
July 24, 2025</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Addition of the CBOR encoding introduces no specific security exposures or risks other than the ones mentioned in <xref target="RFC9254"/> and <xref target="I-D.draft-ietf-netconf-https-notif"/> (An HTTPS-based Transport for YANG Notifications).</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document requests that IANA include an additional entry in the “Capabilities for HTTPS Notification Receivers” registry, defined in <xref target="I-D.draft-ietf-netconf-https-notif"/>. The following entry is added:</t>
      <artwork><![CDATA[
Record:
   URN:         urn:ietf:params:yang-notif:https-capability:encoding:cbor
   Reference:   RFC XXXX: CBOR Encoding for HTTPS-based YANG Notifications Transport
   Description: Identifies support for CBOR-encoded notifications.
]]></artwork>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="I-D.draft-ietf-netconf-https-notif">
        <front>
          <title>An HTTPS-based Transport for YANG Notifications</title>
          <author fullname="Mahesh Jethanandani" initials="M." surname="Jethanandani">
            <organization>Kloud Services</organization>
          </author>
          <author fullname="Kent Watsen" initials="K." surname="Watsen">
            <organization>Watsen Networks</organization>
          </author>
          <date day="30" month="June" year="2026"/>
          <abstract>
            <t>   This document defines a protocol for sending asynchronous event
   notifications similar to notifications defined in RFC 5277, but over
   HTTPS.  YANG modules for configuring publishers are also defined.
   Examples are provided illustrating how to configure various
   publishers.

   This document requires that the publisher is a "server" (e.g., a
   NETCONF or RESTCONF server), but does not assume that the receiver is
   a server.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-netconf-https-notif-16"/>
      </reference>
      <reference anchor="RFC8639">
        <front>
          <title>Subscription to YANG Notifications</title>
          <author fullname="E. Voit" initials="E." surname="Voit"/>
          <author fullname="A. Clemm" initials="A." surname="Clemm"/>
          <author fullname="A. Gonzalez Prieto" initials="A." surname="Gonzalez Prieto"/>
          <author fullname="E. Nilsen-Nygaard" initials="E." surname="Nilsen-Nygaard"/>
          <author fullname="A. Tripathy" initials="A." surname="Tripathy"/>
          <date month="September" year="2019"/>
          <abstract>
            <t>This document defines a YANG data model and associated mechanisms enabling subscriber-specific subscriptions to a publisher's event streams. Applying these elements allows a subscriber to request and receive a continuous, customized feed of publisher-generated information.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8639"/>
        <seriesInfo name="DOI" value="10.17487/RFC8639"/>
      </reference>
      <reference anchor="RFC8949">
        <front>
          <title>Concise Binary Object Representation (CBOR)</title>
          <author fullname="C. Bormann" initials="C." surname="Bormann"/>
          <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
          <date month="December" year="2020"/>
          <abstract>
            <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
            <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="94"/>
        <seriesInfo name="RFC" value="8949"/>
        <seriesInfo name="DOI" value="10.17487/RFC8949"/>
      </reference>
      <reference anchor="RFC9254">
        <front>
          <title>Encoding of Data Modeled with YANG in the Concise Binary Object Representation (CBOR)</title>
          <author fullname="M. Veillette" initials="M." role="editor" surname="Veillette"/>
          <author fullname="I. Petrov" initials="I." role="editor" surname="Petrov"/>
          <author fullname="A. Pelov" initials="A." surname="Pelov"/>
          <author fullname="C. Bormann" initials="C." surname="Bormann"/>
          <author fullname="M. Richardson" initials="M." surname="Richardson"/>
          <date month="July" year="2022"/>
          <abstract>
            <t>YANG (RFC 7950) is a data modeling language used to model configuration data, state data, parameters and results of Remote Procedure Call (RPC) operations or actions, and notifications.</t>
            <t>This document defines encoding rules for YANG in the Concise Binary Object Representation (CBOR) (RFC 8949).</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9254"/>
        <seriesInfo name="DOI" value="10.17487/RFC9254"/>
      </reference>
      <reference anchor="RFC5277">
        <front>
          <title>NETCONF Event Notifications</title>
          <author fullname="S. Chisholm" initials="S." surname="Chisholm"/>
          <author fullname="H. Trevino" initials="H." surname="Trevino"/>
          <date month="July" year="2008"/>
          <abstract>
            <t>This document defines mechanisms that provide an asynchronous message notification delivery service for the Network Configuration protocol (NETCONF). This is an optional capability built on top of the base NETCONF definition. This document defines the capabilities and operations necessary to support this service. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5277"/>
        <seriesInfo name="DOI" value="10.17487/RFC5277"/>
      </reference>
    </references>
    <?line 456?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors acknowledge the support of Kent Watsen and Mahesh Jethanandani, the authors of <xref target="I-D.draft-ietf-netconf-https-notif"/> for their guidance and support provided to draft this document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
kBaRSAAA

-->

</rfc>
