<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.17 (Ruby 2.6.10) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-shahzad-scim-device-model-02" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="SCIM Device Schema Extensions">Device Schema Extensions to the SCIM model</title>

    <author initials="M." surname="Shahzad" fullname="Muhammad Shahzad">
      <organization>North Carolina State University</organization>
      <address>
        <postal>
          <street>Department of Computer Science</street> <street>890 Oval Drive</street> <street>Campus Box 8206</street>
          <city>Raleigh, NC</city>
          <code>27695-8206</code>
          <country>USA</country>
        </postal>
        <email>mshahza@ncsu.edu</email>
      </address>
    </author>
    <author initials="H." surname="Iqbal" fullname="Hassan Iqbal">
      <organization>North Carolina State University</organization>
      <address>
        <postal>
          <street>Department of Computer Science</street> <street>890 Oval Drive</street> <street>Campus Box 8206</street>
          <city>Raleigh, NC</city>
          <code>27695-8206</code>
          <country>USA</country>
        </postal>
        <email>hiqbal@ncsu.edu</email>
      </address>
    </author>
    <author initials="E." surname="Lear" fullname="Eliot Lear">
      <organization>Cisco Systems</organization>
      <address>
        <postal>
          <street>Richtistrasse 7</street>
          <city>Wallisellen</city>
          <code>CH-8304</code>
          <country>Switzerland</country>
        </postal>
        <phone>+41 44 878 9200</phone>
        <email>lear@cisco.com</email>
      </address>
    </author>

    <date year="2023" month="January" day="10"/>

    
    
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>The initial core schema for SCIM (System for Cross Identity
Management) was designed for provisioning users.  This memo specifies
schema extensions that enables provisioning of devices, using various
underlying bootstrapping systems, such as Wifi EasyConnect, RFC 8366
vouchers, and BLE passcodes.</t>



    </abstract>



  </front>

  <middle>


<section anchor="introduction"><name>Introduction</name>

<t>The Internet of Things presents a management challenge in many
dimensions.  One of them is the ability to onboard and manage large
number of devices.  There are many models for bootstrapping trust
between devices and network deployments.  Indeed it is expected that
different manufacturers will make use of different methods.</t>

<t>SCIM (System for Cross Identity Management) <xref target="RFC7643"/> <xref target="RFC7644"/>
defines a protocol and a schema for provisioning of users.  However,
it can easily be extended to provision devices.  The protocol and core
schema were designed to permit just such extensions.  Bulk operations
are supported.  This is good because often devices are procured in
bulk.</t>

<section anchor="why-scim-for-devices"><name>Why SCIM for devices?</name>
<t>Some might ask why SCIM is well suited for this purpose and not, for
example, NETCONF or RESTCONF with YANG.  After all, there are all sorts
of existing models available.  The answer is that the only information
being passed about the device is neither state nor device configuration
information, but only information necessary to bootstrap trust so that
the device may establish connectivity.</t>

</section>
<section anchor="protocol-participants"><name>Protocol Participants</name>

<t>In the normal SCIM model, it was presumed that large federated
deployments would be SCIM clients who provision and remove employees
and contractors as they are enter and depart those deployments, and
federated services such as sales, payment, or conferencing services
would be the servers.</t>

<t>In the device model, the roles are reversed, and may be somewhat more
varied.  A deployment network management system gateway (NMS gateway)
plays the role of the server, receiving information about devices that
are expected to be connected to its network.  That server will apply
appropriate local policies regarding whether/how the device should be
connected.</t>

<t>The client may be one of a number of entities:</t>

<t><list style="symbols">
  <t>A vendor who is authorized to add devices to a network as part of
a sales transaction.  This is similar to the sales integration
sometimes envisioned by Bootstrapping Remote Key Infrastructure
(BRSKI) <xref target="RFC8995"/>.</t>
  <t>A client application that administrators or employees use to add,
remove, or get information about devices.  An example might be an
tablet or phone app that scans Easyconnect QR codes.</t>
</list></t>

<figure title="Basic Architecture" anchor="arch"><artwork><![CDATA[

                            +-----------------------------------+
                            |                                   |
    +-----------+   Request |  +---------+                      |
    | onboarding|------------->|  SCIM   |                      |
    |    app    |<-------------| Server  |                      |
    +-----------+  Ctrl Endpt  +---------+                      |
                            |                                   |
    +-----------+           |  +------------+         +-------+ |
    |  Control  |...........|..|    ALG     |.........|device | |
    |    App    |           |  +------------+         +-------+ |
    +-----------+           |                                   |
                            |                                   |
                            +-----------------------------------+

]]></artwork></figure>

<t>In <xref target="arch"/>, the onboarding app provides the device particulars.  As
part of the response, the SCIM server might provide additional
information, especially in the case of non-IP devices, where an
application-layer gateway may need to be used to communicate with
the device.  The control endpoint is one among a number of objects
that may be returned.</t>

</section>
<section anchor="schema-description"><name>Schema Description</name>

<t>RFC 7643 does not prescribe a language to describe a schema. We
have chosen the JSON schema language <xref target="I-D.bhutton-json-schema"/> for
this purpose.  This implies that use of XML for this device extension
is not supported.</t>

<t>Several additional schemas specify specific onboarding mechanisms,
such as BLE and Wifi Easy Connect.</t>

</section>
<section anchor="schema-representation"><name>Schema Representation</name>

<t>Attributes defined in the device core schema and extensions comprise
characteristics and SCIM datatypes defined in Sections 2.2 and 2.3 of
the <xref target="RFC7643"/>. This RFC does not define new characteristics and
datatypes for the SCIM attributes.</t>

</section>
<section anchor="terminology"><name>Terminology</name>
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>

</section>
<section anchor="device-grouping"><name>Device Grouping</name>

<t>Device grouping occurs using the core SCIM group object, as defined in
<xref target="RFC7643"/> Section 4.2.</t>

</section>
</section>
<section anchor="resourcetype-device"><name>ResourceType Device</name>
<t>This section defines a new resource type, 'Device'. The "ResourceType" schema specifies the metadata about a resource type (see section 6 of <xref target="RFC7643"/>). The resource "Devices" comprises a core device schema and several extension schemas. The core schema provides a minimal resource representation, whereas extension schemas extend the core schema depending on the device's capability.</t>

<figure><artwork><![CDATA[
<CODE BEGINS>
[
  {
    "schemas": ["urn:ietf:params:scim:schemas:core:2.0:ResourceType"],
    "id": "Device",
    "name": "Device",
    "endpoint": "/Device",
    "description": "Device Account",
    "schema": "urn:ietf:params:scim:schemas:core:2.0:Device",
    "schemaExtensions": [
      {
        "schema": "urn:ietf:params:scim:schemas:extension:ble:2.0:Device",
        "required": false
      },
      {
        "schema": "urn:ietf:params:scim:schemas:extension:dpp:2.0:Device",
        "required": false
      },
      {
        "schema": "urn:ietf:params:scim:schemas:extension:zigbee:2.0:Device",
        "required": false
      },
      {
        "schema": "urn:ietf:params:scim:schemas:extension:endpointApps:2.0:Device",
        "required": false
      },
      {
        "schema": "urn:ietf:params:scim:schemas:extension:pairingNull:2.0:Device",
        "required": false
      },
      {
        "schema": "urn:ietf:params:scim:schemas:extension:pairingJustWorks:2.0:Device",
        "required": false
      },
      {
        "schema": "urn:ietf:params:scim:schemas:extension:pairingPassKey:2.0:Device",
        "required": false
      },
      {
        "schema": "urn:ietf:params:scim:schemas:extension:pairingOOB:2.0:Device",
        "required": false
      }
    ],
    "meta": {
      "location": "https://example.com/v2/ResourceTypes/Device",
      "resourceType": "ResourceType"
    }
  }

]
<CODE ENDS>
]]></artwork></figure>

</section>
<section anchor="scim-core-device-schema"><name>SCIM Core Device Schema</name>

<t>The core device schema provides the minimal representation of a
resource "Device". It contains only those attributes that any device
may need. Not all attributes are optional.  The core schema for
"Device" is identified using the schema URI:
"urn:ietf:params:scim:schemas:core:2.0:Device". The following
attributes are defined in the device core schema, and details of their
characteristics are presented in
<xref target="device-schema-json-representation"></xref>.</t>

<section anchor="common-attributes"><name>Common Attributes</name>

<t>The Device schema contains three common attributes as defined in the
<xref target="RFC7643"/>.</t>

<t>id</t>

<t>An id is a required and unique attribute of the device core schema
(see section 3.1 of <xref target="RFC7643"/>).</t>

<t>externalID</t>

<t>An externalID is an optional attribute (see section 3.1 of <xref target="RFC7643"/>).</t>

<t>meta</t>

<t>Meta is a complex attribute and is required (see section 3.1 of <xref target="RFC7643"/>).</t>

</section>
<section anchor="singular-attributes"><name>Singular Attributes</name>

<t>deviceDisplayName</t>

<t>This is a human-readable device name suitable for displaying to
end-users.  It is a mutable, non-unique, and not required string
value.  For example, "BLE Heart Monitor".</t>

<t>adminState</t>

<t>This is a required mutable boolean value indicating the device's
administrative status. If this variable is set to True, then the
device is expected to be accessible.  Note that the SCIM server
may apply whatever policy it may to establish and control this state.</t>

<t>mudUrl</t>

<t>A URL to the MUD file of the device.  When present, the mudUrl may be
associated with this device, and used as described in <xref target="RFC8520"/>.</t>

</section>
<section anchor="device-schema-json-representation"><name>Device Schema JSON Representation</name>

<t>Following is the JSON representation of the Device core schema. Common
attributes such as "id" and "externalID" are not presented below.</t>

<figure><artwork><![CDATA[
<CODE BEGINS>
{  
  "id": "urn:ietf:params:scim:schemas:core:2.0:Device",
  "name": "Device",
  "description": "Device account",
  "attributes" : [
    {
      "name": "deviceDisplayName",
      "type": "string",
      "description": "Human readable name of the device, suitable for displaying to end-users. For example, 'BLE Heart Monitor' etc.",
      "multivalues": false,
      "required": false,
      "caseExact": true,
      "mutability": "readWrite",
      "returned": "default",
      "uniqueness": "none"
    },
    {
      "name": "adminState",
      "type": "boolean",
      "description": "A mutable boolean value indicating the device administrative status. If set TRUE, the commands (such as connect, disconnect, subscribe) that control app sends to the controller for the devices will be processeed by the controller. If set FALSE, any command comming from the control app for the device will be rejected by the controller.",
      "multivalues": false,
      "required": true,
      "caseExact": false,
      "mutability": "readWrite",
      "returned": "default",
      "uniqueness": "none"
    },
    {
      "name": "mudUrl",
      "type": "reference",
      "description": "A URL to MUD file of the device (RFC 8520). It is added for future use. Current usage is not defined yet.",
      "multivalues": false,
      "required": false,
      "caseExact": true,
      "mutability": "readWrite",
      "returned": "default",
      "uniqueness": "none"
    }
  ],
  "meta" : {
    "resourceType" : "Schema",
    "location" :
      "/v2/Schemas/urn:ietf:params:scim:schemas:core:2.0:Device"
  }
}
<CODE ENDS>
]]></artwork></figure>

</section>
<section anchor="device-object-example"><name>Device Object Example</name>

<t>Following is the minimal example of a device object that does not
contain any extension representing the device's communication
capability.</t>

<figure><artwork><![CDATA[
<CODE BEGINS>
{
        "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Device"],
        "id": "e9e30dba-f08f-4109-8486-d5c6a3316111",
        "deviceDisplayName": "BLE Heart Monitor",
        "adminState": true,
        "meta": {
          "resourceType": "Device",
      "created": "2022-01-23T04:56:22Z",
          "lastModified": "2022-05-13T04:42:34Z",
          "version": "W\/\"a330bc54f0671c9\"", 
          "location": "https://example.com/v2/Device/e9e30dba-f08f-4109-8486-d5c6a3316111"
        }
}
<CODE ENDS>
]]></artwork></figure>

</section>
</section>
<section anchor="scim-device-extensions"><name>SCIM Device Extensions</name>

<t>This section presents various extension schemas, their attributes,
JSON representation, and example object. These schemas extend the core
device schema based on the device's capability (communication stack).
This RFC presents an additional hierarchical level by introducing
extensions within an extension.  See below for more details.</t>

<t>[[ DISCUSS: Is this okay with the working group? ]]</t>

<section anchor="ble-extension"><name>BLE Extension</name>

<t>This schema extends the device schema to represent the devices
supporting BLE. The attributes are as follows:</t>

<section anchor="singular-attributes-1"><name>Singular Attributes</name>

<t>deviceMacAddress</t>

<t>this is the public MAC address assigned by the manufacturer. It is a
unique 48-bit value. The regex pattern is the following:</t>

<figure><artwork><![CDATA[
^[0-9A-Fa-f]{2}(:[0-9A-Fa-f]{2}){5}
]]></artwork></figure>

<t>addressType</t>

<t>This flag is taken from the BLE core specification, 5.3. If FALSE, the
device is using a public MAC address. If TRUE, the device uses a
Random address resolved using IRK.</t>

<t>irk</t>

<t>Identity resolving key, which is unique for every device. It is used
to resolve the random address.</t>

</section>
<section anchor="multivalued-attributes"><name>Multivalued Attributes</name>

<t>versionSupport</t>

<t>This field provides an array of all the BLE versions supported by the
device. For example, [4.1, 4.2, 5.0, 5.1, 5.2, 5.3].</t>

<t>pairingMethods</t>

<t>This attribute is the array of pairing methods associated with the BLE
device. The pairing methods may require sub-attributes, such as
key/password, for the device pairing process. To enable the
scalability of pairing methods in the future, they are represented as
extensions to incorporate various attributes that are part of the
respective pairing process. Pairing method extensions are nested
inside the BLE extension.</t>

</section>
<section anchor="ble-pairing-method-extensions"><name>BLE Pairing Method Extensions</name>

<t>The details on pairing methods and their associated attributes are in
section 2.3 of <xref target="BLE53"/>.  This memo defines extensions for four
pairing methods that are nested insided the BLE extension schema. They
are as follows.</t>

<t>urn:ietf:params:scim:schemas:extension:pairingNull:2.0:Device</t>

<t>This extension does not have any attribute. It allows pairing for BLE
devices that do not require a pairing method.</t>

<t>urn:ietf:params:scim:schemas:extension:pairingJustWorks:2.0:Device</t>

<t>Just works pairing method does not require a key to pair devices. For
completeness, the key value is set to 'null'.</t>

<t>urn:ietf:params:scim:schemas:extension:pairingPassKey:2.0:Device</t>

<t>The pass key pairing method requires a 6-digit key to pair devices.
This extension has one singular attribute, "key".  The key pattern is
as follows:</t>

<figure><artwork><![CDATA[
^[0-9]{6}$
]]></artwork></figure>

<t>urn:ietf:params:scim:schemas:extension:pairingOOB:2.0:Device</t>

<t>The out-of-band pairing method includes three singular attributes,
i.e., key, randomNumber, and confirmationNumber. The key value is
required and received from out-of-bond sources such as NFC.
randomNumber is also a required attribute which is nounce added to the
key.  confirmationNumber is a non-required attribute, which some
solutions require in RESTful message exchange.</t>

</section>
<section anchor="ble-extension-json-representation"><name>BLE Extension JSON Representation</name>

<figure><artwork><![CDATA[
<CODE BEGINS>
[
  {  
    "id": "urn:ietf:params:scim:schemas:extension:ble:2.0:Device",
    "name": "bleExtension",
    "description": "Ble extension for device account",
    "attributes" : [
      {
        "name": "versionSupport",
        "type": "string",
        "description": "Provides a list of all the BLE versions supported by the device. For example, [4.1, 4.2, 5.0, 5.1, 5.2, 5.3].",
        "multivalues": true,
        "required": true,
        "caseExact": false,
        "mutability": "readWrite",
        "returned": "default",
        "uniqueness": "none"
      },
      {
        "name": "deviceMacAddress",
        "type": "string",
        "description": "It is the public MAC address assigned by the manufacturer. It is unique 48 bit value. The regex pattern is ^[0-9A-Fa-f]{2}(:[0-9A-Fa-f]{2}){5}.",
        "multivalues": false,
        "required": true,
        "caseExact": false,
        "mutability": "readWrite",
        "returned": "default",
        "uniqueness": "Manufacturer"
      },
      {
        "name": "addressType",
        "type": "boolean",
        "description": "AddressType flag is taken from the BLE core specifications 5.3. If FALSE, the device is using public MAC address. If TRUE, device is using Random address which is resolved using IRK.",
        "multivalues": false,
        "required": true,
        "caseExact": false,
        "mutability": "readWrite",
        "returned": "default",
        "uniqueness": "none"
      },
      {
        "name": "irk",
        "type": "string",
        "description": "Identity resolving key, which is unique for every device. It is used to resolve random address.",
        "multivalues": false,
        "required": false,
        "caseExact": false,
        "mutability": "readWrite",
        "returned": "default",
        "uniqueness": "Manufacturer"
      },
      {
        "name": "pairingMethods",
        "type": "string",
        "description": "List of pairing methods associated with the ble device, stored as schema URI.",
        "multivalues": true,
        "required": true,
        "caseExact": true,
        "mutability": "readWrite",
        "returned": "default",
        "uniqueness": "none"
      }
    ],
    "meta" : {
      "resourceType" : "Schema",
      "location" : "/v2/Schemas/urn:ietf:params:scim:schemas:extension:ble:2.0:Device"
    }
  },
  {
    "id": "urn:ietf:params:scim:schemas:extension:pairingNull:2.0:Device",
    "name": "nullPairing",
    "description": "Null pairing method for ble. It is included for the devices that do not have a pairing method.",
    "meta" : {
      "resourceType" : "Schema",
      "location" : "/v2/Schemas/urn:ietf:params:scim:schemas:extension:pairingNull:2.0:Device"
    }
  },
  {
    "id": "urn:ietf:params:scim:schemas:extension:pairingJustWorks:2.0:Device",
    "name": "pairingJustWorks",
    "description": "Just works pairing method for ble.",
    "attributes" : [
      {
        "name": "key",
        "type": "integer",
        "description": "Just works does not have any key value. For completeness, it is added with a key value 'null'.",
        "multivalues": false,
        "required": true,
        "caseExact": false,
        "mutability": "readWrite",
        "returned": "default",
        "uniqueness": "none"
      }
    ],
    "meta" : {
      "resourceType" : "Schema",
      "location" : "/v2/Schemas/urn:ietf:params:scim:schemas:extension:pairingJustWorks:2.0:Device"
    }
  },
  {
    "id": "urn:ietf:params:scim:schemas:extension:pairingPassKey:2.0:Device",
    "name": "pairingPassKey",
    "description": "Pass key pairing method for ble.",
    "attributes" : [
      {
        "name": "key",
        "type": "integer",
        "description": "A six digit passkey for ble device. The pattern of key is ^[0-9]{6}$.",
        "multivalues": false,
        "required": true,
        "caseExact": false,
        "mutability": "readWrite",
        "returned": "default",
        "uniqueness": "none"
      }
    ],
    "meta" : {
      "resourceType" : "Schema",
      "location" : "/v2/Schemas/urn:ietf:params:scim:schemas:extension:pairingPassKey:2.0:Device"
    }
  },
  {
    "id": "urn:ietf:params:scim:schemas:extension:pairingOOB:2.0:Device",
    "name": "pairingOOB",
    "description": "Pass key pairing method for ble.",
    "attributes" : [
      {
        "name": "key",
        "type": "string",
        "description": "A key value retrieved from out of band source such as NFC.",
        "multivalues": false,
        "required": true,
        "caseExact": true,
        "mutability": "readWrite",
        "returned": "default",
        "uniqueness": "none"
      },
      {
        "name": "randomNumber",
        "type": "integer",
        "description": "Nonce added to the key.",
        "multivalues": false,
        "required": true,
        "caseExact": false,
        "mutability": "readWrite",
        "returned": "default",
        "uniqueness": "none"
      },
      {
        "name": "confirmationNumber",
        "type": "integer",
        "description": "Some solutions require confirmation number in RESTful message exchange.",
        "multivalues": false,
        "required": false,
        "caseExact": false,
        "mutability": "readWrite",
        "returned": "default",
        "uniqueness": "none"
      }
    ],
    "meta" : {
      "resourceType" : "Schema",
      "location" : "/v2/Schemas/urn:ietf:params:scim:schemas:extension:pairingOOB:2.0:Device"
    }
  }
]
<CODE ENDS>
]]></artwork></figure>

</section>
<section anchor="ble-device-object-example"><name>BLE Device Object Example</name>

<figure><artwork><![CDATA[
<CODE BEGINS>
{
  "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Device",
     "urn:ietf:params:scim:schemas:extension:ble:2.0:Device"],

  "id": "e9e30dba-f08f-4109-8486-d5c6a3316111",
  "deviceDisplayName": "BLE Heart Monitor",
  "adminState": true,
  "urn:ietf:params:scim:schemas:extension:ble:2.0:Device" : {       
    "versionSupport": ["5.3"],
    "deviceMacAddress": "2C:54:91:88:C9:E2",
    "addressType": false,
    "pairingMethods": ["urn:ietf:params:scim:schemas:extension:pairingNull:2.0:Device",
        "urn:ietf:params:scim:schemas:extension:pairingJustWorks:2.0:Device",
        "urn:ietf:params:scim:schemas:extension:pairingPassKey:2.0:Device",
        "urn:ietf:params:scim:schemas:extension:pairingOOB:2.0:Device"],
    "urn:ietf:params:scim:schemas:extension:pairingNull:2.0:Device": null,
    "urn:ietf:params:scim:schemas:extension:pairingJustWorks:2.0:Device": {
      "key": null
    },
    "urn:ietf:params:scim:schemas:extension:pairingPassKey:2.0:Device" : {
      "key": 123456
    },
    "urn:ietf:params:scim:schemas:extension:pairingOOB:2.0:Device": {
      "key": "TheKeyvalueRetrievedFromOOB",
      "randNumber": 238796813516896
    }         
  },
  "meta": {
    "resourceType": "Device",
      "created": "2022-01-23T04:56:22Z",
    "lastModified": "2022-05-13T04:42:34Z",
    "version": "W\/\"a330bc54f0671c9\"", 
    "location": "https://example.com/v2/Device/e9e30dba-f08f-4109-8486-d5c6a3316111"
  }
}
<CODE ENDS>
]]></artwork></figure>

</section>
</section>
<section anchor="dpp-easyconnect-extension"><name>DPP EasyConnect Extension</name>

<t>This schema extends the device schema to enable WiFi EasyConnect
(otherwise known as Device Provisioning Protocol).  The attributes in
this extension are adopted from <xref target="DPP2"/>. The attributes are as follows:</t>

<section anchor="singular-attributes-2"><name>Singular Attributes</name>

<t>dppVersion
This attribute represents the version of DPP the device supports.</t>

<t>bootstrapKey</t>

<t>This key is Elliptic-Curve Diffie–Hellman (ECDH) public key. The
base64 encoded lengths for P-256, P-384, and P-521 are 80, 96, and 120
characters.</t>

<t>deviceMacAddress</t>

<t>The manufacturer assigns the MAC address. It is a unique 48-bit value. The regex pattern is as follows:</t>

<figure><artwork><![CDATA[
^[0-9A-Fa-f]{2}(:[0-9A-Fa-f]{2}){5}.
]]></artwork></figure>

<t>serialNumber</t>

<t>An alphanumeric serial number may also be passed as bootstrapping information.</t>

</section>
<section anchor="multivalued-attributes-1"><name>Multivalued Attributes</name>

<t>bootstrappingMethod</t>

<t>It is the array of all the bootstrapping methods available on the
enrollee device. For example, [QR, NFC].</t>

<t>classChannel</t>

<t>This attribute is an array of global operating class and channel
shared as bootstrapping information. It is formatted as
class/channel. For example, ['81/1','115/36'].</t>

</section>
<section anchor="dpp-extension-json-representation"><name>DPP Extension JSON Representation</name>

<figure><artwork><![CDATA[
<CODE BEGINS>
{  
    "id": "urn:ietf:params:scim:schemas:extension:dpp:2.0:Device",
    "name": "dppExtension",
    "description": "Device extension schema for DPP",
    "attributes" : [
      {
        "name": "dppVersion",
        "type": "integer",
        "description": "Version of DPP this device supports.",
        "multivalues": false,
        "required": true,
        "caseExact": false,
        "mutability": "readWrite",
        "returned": "default",
        "uniqueness": "none"
      },
      {
        "name": "bootstrappingMethod",
        "type": "string",
        "description": "The list of all the bootstrapping methods available on the enrollee device. For example, [QR, NFC].",
        "multivalues": true,
        "required": false,
        "caseExact": false,
        "mutability": "readWrite",
        "returned": "default",
        "uniqueness": "none"
      },
      {
        "name": "bootstrapKey",
        "type": "string",
        "description": "This key is Elliptic-Curve Diffie–Hellman (ECDH) public key. The base64 encoded length for P-256, P-384, and P-521 is 80, 96, and 120 characters.",
        "multivalues": false,
        "required": true,
        "caseExact": true,
        "mutability": "readWrite",
        "returned": "default",
        "uniqueness": "none"
      },
      {
        "name": "deviceMacAddress",
        "type": "string",
        "description": "The MAC address assigned by the manufacturer. It is unique 48 bit value. The regex pattern is ^[0-9A-Fa-f]{2}(:[0-9A-Fa-f]{2}){5}.",
        "multivalues": false,
        "required": false,
        "caseExact": false,
        "mutability": "readWrite",
        "returned": "default",
        "uniqueness": "Manufacturer"
      },
      {
        "name": "classChannel",
        "type": "string",
        "description": "A list of global operating class and channel shared as bootstrapping information. It is formatted as class/channel. For example, '81/1', '115/36'.",
        "multivalues": true,
        "required": false,
        "caseExact": false,
        "mutability": "readWrite",
        "returned": "default",
        "uniqueness": "none"
      },
      {
        "name": "serialNumber",
        "type": "string",
        "description": "An alphanumeric serial number that may also be passed as bootstrapping information.",
        "multivalues": false,
        "required": false,
        "caseExact": false,
        "mutability": "readWrite",
        "returned": "default",
        "uniqueness": "none"
      }

    ],
    "meta" : {
      "resourceType" : "Schema",
      "location" : "/v2/Schemas/urn:ietf:params:scim:schemas:extension:dpp:2.0:Device"
    }
  }
<CODE ENDS>
]]></artwork></figure>

</section>
<section anchor="dpp-device-object-example"><name>DPP Device Object Example</name>

<figure><artwork><![CDATA[
<CODE BEGINS>
{
        "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Device",
                 "urn:ietf:params:scim:schemas:extension:dpp:2.0:Device"],

        "id": "e9e30dba-f08f-4109-8486-d5c6a3316111",
        "displayName": "WiFi Heart Monitor",
        "adminState": true,
        "urn:ietf:params:scim:schemas:extension:dpp:2.0:Device" : {
                "versionSupport": ["802.11ax"],
                "bootstrappingMethod": ["QR"],
                "bootstrapKey": "MDkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDIgADURzxmttZoIRIPWGoQMV00XHWCAQIhXruVWOz0NjlkIA=",
                "deviceMacAddress": "2C:54:91:88:C9:F2",
                "classChannel": ["81/1", "115/36"], 
                "serialNumber": "4774LH2b4044"          
        },

        "meta": {
          "resourceType": "Device",
      "created": "2022-01-23T04:56:22Z",
          "lastModified": "2022-05-13T04:42:34Z",
          "version": "W\/\"a330bc54f0671c9\"", 
          "location": "https://example.com/v2/Device/e9e30dba-f08f-4109-8486-d5c6a3316111"
        }
}
<CODE ENDS>
]]></artwork></figure>

</section>
</section>
<section anchor="zigbee-extension"><name>Zigbee Extension</name>

<t>This schema extends the device schema to enable the provisioning of Zigbee devices. It has one singular attribute and one multivalued attribute. The attributes are as follows:</t>

<section anchor="singular-attribute"><name>Singular Attribute</name>

<t>deviceEui64Address</t>

<t>this attribute is an EUI-64 (Extended Unique Identifier) device
address. The regex pattern is as follows:</t>

<figure><artwork><![CDATA[
^[0-9A-Fa-f]{16}$
]]></artwork></figure>

</section>
<section anchor="multivalued-attribute"><name>Multivalued Attribute</name>

<t>versionSupport</t>

<t>This attribute provides an array of all the Zigbee versions supported by the
device. For example, [3.0].</t>

</section>
<section anchor="zigbee-extension-json-representation"><name>Zigbee Extension JSON Representation</name>

<figure><artwork><![CDATA[
<CODE BEGINS>
{  
  "id": "urn:ietf:params:scim:schemas:extension:zigbee:2.0:Device",
  "name": "zigbeeExtension",
  "description": "Device extension schema for zigbee.",
  "attributes" : [
    {
      "name": "versionSupport",
      "type": "string",
      "description": "Provides a list of all the zigbee versions supported by the device. For example, [3.0].",
      "multivalues": true,
      "required": true,
      "caseExact": false,
      "mutability": "readWrite",
      "returned": "default",
      "uniqueness": "none"
    },
    {
      "name": "deviceEui64Address",
      "type": "string",
      "description": "The EUI-64 (Extended Unique Identifier) device address. The regex pattern is ^[0-9A-Fa-f]{16}$.",
      "multivalues": false,
      "required": true,
      "caseExact": false,
      "mutability": "readWrite",
      "returned": "default",
      "uniqueness": "none"
    }
  ],
  "meta" : {
    "resourceType" : "Schema",
    "location" : "/v2/Schemas/urn:ietf:params:scim:schemas:extension:zigbee:2.0:Device"
  }
}
<CODE ENDS>
]]></artwork></figure>

</section>
<section anchor="zigbee-device-object-example"><name>Zigbee Device Object Example</name>

<figure><artwork><![CDATA[
<CODE BEGINS>
{
  "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Device",
     "urn:ietf:params:scim:schemas:extension:zigbee:2.0:Device"],
     
  "id": "e9e30dba-f08f-4109-8486-d5c6a3316111",
  "displayName": "Zigbee Heart Monitor",
  "adminState": true,
  "urn:ietf:params:scim:schemas:extension:zigbee:2.0:Device" : {
    "versionSupport": ["3.0"],
    "deviceEui64Address": "50325FFFFEE76728"
  },
  
  "meta": {
    "resourceType": "Device",
      "created": "2022-01-23T04:56:22Z",
    "lastModified": "2022-05-13T04:42:34Z",
    "version": "W\/\"a330bc54f0671c9\"", 
    "location": "https://example.com/v2/Device/e9e30dba-f08f-4109-8486-d5c6a3316111"
  }
}
<CODE ENDS>
]]></artwork></figure>

</section>
</section>
<section anchor="the-endpoint-applications-extension-schema"><name>The Endpoint Applications Extension Schema</name>

<t>Sometimes non-IP devices such as those using BLE or Zigbe require an
application gateway interface to manage them. SCIM clients MUST NOT
specify this to describe native IP-based devices.</t>

<t>The device schema is a base schema upon which specific onboarding
technology schemas are built. This extension provides two complex
attributes deviceControl, and dataReceiver to represent
two types of partner endpoint applications, device
control, and data receiver applications, respectively. These complex
attributes and their respective sub-attributes are as follows:</t>

<section anchor="devicecontrol-complex-attribute"><name>"deviceControl" Complex Attribute</name>

<t>This complex attribute represents the application responsible for
controlling the device. Device control applications provide access
control for the device. It determines which other applications can
access the data from the device. Depending on the use case, there can
be more than one device control application.</t>

<t>"deviceControl" has two attributes: i) a multvalued client-tokens
attribute" and ii) a singular attribute called
"enterpriseEndpoint". Their details are as follows:</t>

<t>client-tokens</t>

<t>This attribute contains a list of tokens that the client will used to
authenticate itself.  Each token may be a string up to 500 characters
in length.</t>

<t>[[ We probably need something better here. ]]</t>

<t>enterpriseEndpoint</t>

<t>Device control apps use the URL of the enterprise endpoint to reach
the network gateway. When the enterprise receives the SCIM object from
the onboarding app, it adds this attribute to it and sends it back as
a response to the onboarding app.</t>

</section>
<section anchor="datareceiver-complex-attribute"><name>"dataReceiver" Complex Attribute</name>

<t>This complex attribute represents the application that receives data
from the device. Depending on the use case, there can be more than one
data receiver application.</t>

<t>"dataReceiver" has two attributes:</t>

<t><list style="numbers">
  <t>a multi-valued attribute called "client-tokens".</t>
  <t>a singular attribute called "enterpriseEndpoint".</t>
</list></t>

<t>The complex attribute "apps" provides the URLs and root certificates of the
respective data receiver applications in an array. Their details are
as follows:</t>

<t>client-tokens</t>

<t>This attribute contains a list of tokens that the client will used to
authenticate itself.  Each token may be a string up to 500 characters
in length.</t>

<t>[[ We probably need something better here. ]]</t>

<t>enterpriseEndpoint</t>

<t>Data receiver apps use the URL of the enterprise endpoint to reach the
network gateway. When the enterprise receives the SCIM object from the
onboarding app, it adds this attribute to it and sends it back as a
response to the onboarding app.</t>

</section>
<section anchor="endpoint-extension-json-representation"><name>Endpoint Extension JSON Representation</name>

<figure><artwork><![CDATA[
<CODE BEGINS>
{  
  "id": "urn:ietf:params:scim:schemas:extension:endpointApps:2.0:Device",
  "name": "endpointApps",
  "description": "Extension for partner endpoint applications that can onboard, control, and communicate with the device.",
  "attributes" : [
    {
      "name": "deviceControl",
      "type": "complex",
      "description": "Device control application attributes.",
      "multivalues": false,
      "required": true,
      "caseExact": false,
      "mutability": "readWrite",
      "returned": "default",
      "uniqueness": "none",
      "subAttributes" : [
        {
          "name": "client-tokens",
           "type": "reference",
           "description": "The URL of the device control application which can be used to access the app. This attribute is provided by the onboarding application when it creates the SCIM object for the device.",
           "multivalues": true,
           "required": true,
           "caseExact": true,
           "mutability": "readWrite",
           "returned": "default",
           "uniqueness": "none"
        },
        {
          "name": "enterpriseEndpoint",
          "type": "reference",
          "description": "The URL of the enterprise endpoint which device control apps uses to reach enterprise network gateway. When enterprise receives the SCIM object from onboarding app, it adds this attribute to the object and sends back the object as response back to the onboarding app.",
          "multivalues": false,
          "required": true,
          "caseExact": true,
          "mutability": "readWrite",
          "returned": "default",
          "uniqueness": "none"
        }
      ]
    },
    {
      "name": "dataReceiver",
      "type": "complex",
      "description": "Data receiver application attributes.",
      "multivalues": false,
      "required": true,
      "caseExact": false,
      "mutability": "readWrite",
      "returned": "default",
      "uniqueness": "none",
      "subAttributes" : [
        {
          "name": "client-tokens",
           "type": "reference",
           "description": "The URL of the device control application which can be used to access the app. This attribute is provided by the onboarding application when it creates the SCIM object for the device.",
           "multivalues": true,
           "required": true,
           "caseExact": true,
           "mutability": "readWrite",
           "returned": "default",
           "uniqueness": "none"
        },
        {
          "name": "enterpriseEndpoint",
          "type": "reference",
          "description": "The URL of the enterprise endpoint which device control apps uses to reach enterprise network gateway. When enterprise receives the SCIM object from onboarding app, it adds this attribute to the object and sends back the object as response back to the onboarding app.",
          "multivalues": false,
          "required": true,
          "caseExact": true,
          "mutability": "readWrite",
          "returned": "default",
          "uniqueness": "none"
        }
      ]
      }
  ],
  "meta" : {
    "resourceType" : "Schema",
    "location" : "/v2/Schemas/urn:ietf:params:scim:schemas:extension:endpointApps:2.0:Device"
  }
}}
<CODE ENDS>
]]></artwork></figure>

</section>
<section anchor="endpoints-device-object-example"><name>Endpoints Device Object Example</name>
<t>This example object below presents a BLE device along with the application endpoints.</t>

<figure><artwork><![CDATA[
<CODE BEGINS>
{
  "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Device",
     "urn:ietf:params:scim:schemas:extension:ble:2.0:Device",
     "urn:ietf:params:scim:schemas:extension:endpointapps:2.0:Device"],

  "id": "e9e30dba-f08f-4109-8486-d5c6a3316111",
  "displayName": "BLE Heart Monitor",
  "adminState": true,
    "urn:ietf:params:scim:schemas:extension:ble:2.0:Device" :
    {          "versionSupport": ["5.3"],
    "deviceMacAddress": "2C:54:91:88:C9:E2",
    "addressType": false,
      "pairingMethods": [
        "urn:ietf:params:scim:schemas:extension:pairingNull:2.0:Device",
        "urn:ietf:params:scim:schemas:extension:pairingJustWorks:2.0:Device",
        "urn:ietf:params:scim:schemas:extension:pairingPassKey:2.0:Device",
        "urn:ietf:params:scim:schemas:extension:pairingOOB:2.0:Device"],
    "urn:ietf:params:scim:schemas:extension:pairingNull:2.0:Device": null,
    "urn:ietf:params:scim:schemas:extension:pairingJustWorks:2.0:Device": {
      "key": null
    },
    "urn:ietf:params:scim:schemas:extension:pairingPassKey:2.0:Device" : {
      "key": 123456
    },
    "urn:ietf:params:scim:schemas:extension:pairingOOB:2.0:Device": {
      "key": "TheKeyvalueRetrievedFromOOB",
      "randNumber": 238796813516896
    }         
  },

  "urn:ietf:params:scim:schemas:extension:endpointapps:2.0:Device": {
    "onboarding": {
      "appUrl": "https//example.com/onboardingapp/",
      "rootCertificate": "Certificate for onboarding app",
      "enterpriseEndpoint": "https//enterprise.com/onboardingapp_endpoint/"
    },
    
    "deviceControl": {
      "client-tokens": [
          "1293847109832471203984789383XXX"
      ],
      "enterpriseEndpoint": "https//enterprise.com/device_control_endpoint/"
    },
    
    "dataReceiver": {
      "client-tokens":[
          "dlku23234sdui232393"
      ],
      "enterpriseEndpoint": "https//enterprise.com/data_receiver_endpoint/"       
    }
  },

  
  "meta": {
    "resourceType": "Device",
      "created": "2022-01-23T04:56:22Z",
    "lastModified": "2022-05-13T04:42:34Z",
    "version": "W\/\"a330bc54f0671c9\"", 
    "location": "https://example.com/v2/Device/e9e30dba-f08f-4109-8486-d5c6a3316111"
  }
}}
<CODE ENDS>
]]></artwork></figure>

</section>
</section>
</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>Because provisioning operations are senstive, each client must be
appropriately authenticated.  Certain objects may be read-only or
not visible based on who is connected.</t>

<t>[ More to be added here. ]</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>TBD</t>

</section>
<section anchor="changes-from-earlier-versions"><name>Changes from Earlier Versions</name>

<t>Draft -01:</t>

<t><list style="symbols">
  <t>Doh! We forgot the core device schemea!</t>
</list></t>

<t>Draft -00:</t>

<t><list style="symbols">
  <t>Initial revision</t>
</list></t>

</section>


  </middle>

  <back>


    <references title='Normative References'>

<reference anchor="BLE53" >
  <front>
    <title>Bluetooth Core Specification, Version 5.3</title>
    <author >
      <organization>Bluetooth SIG</organization>
    </author>
    <date year="2021"/>
  </front>
</reference>
<reference anchor="DPP2" >
  <front>
    <title>Wi-Fi Easy Connect Specification, Version 2.0</title>
    <author >
      <organization>Wi-Fi Alliance</organization>
    </author>
    <date year="2020"/>
  </front>
</reference>




<reference anchor='RFC7643' target='https://www.rfc-editor.org/info/rfc7643'>
<front>
<title>System for Cross-domain Identity Management: Core Schema</title>
<author fullname='P. Hunt' initials='P.' role='editor' surname='Hunt'><organization/></author>
<author fullname='K. Grizzle' initials='K.' surname='Grizzle'><organization/></author>
<author fullname='E. Wahlstroem' initials='E.' surname='Wahlstroem'><organization/></author>
<author fullname='C. Mortimore' initials='C.' surname='Mortimore'><organization/></author>
<date month='September' year='2015'/>
<abstract><t>The System for Cross-domain Identity Management (SCIM) specifications are designed to make identity management in cloud-based applications and services easier.  The specification suite builds upon experience with existing schemas and deployments, placing specific emphasis on simplicity of development and integration, while applying existing authentication, authorization, and privacy models.  Its intent is to reduce the cost and complexity of user management operations by providing a common user schema and extension model as well as binding documents to provide patterns for exchanging this schema using HTTP.</t><t>This document provides a platform-neutral schema and extension model for representing users and groups and other resource types in JSON format.  This schema is intended for exchange and use with cloud service providers.</t></abstract>
</front>
<seriesInfo name='RFC' value='7643'/>
<seriesInfo name='DOI' value='10.17487/RFC7643'/>
</reference>



<reference anchor='RFC7644' target='https://www.rfc-editor.org/info/rfc7644'>
<front>
<title>System for Cross-domain Identity Management: Protocol</title>
<author fullname='P. Hunt' initials='P.' role='editor' surname='Hunt'><organization/></author>
<author fullname='K. Grizzle' initials='K.' surname='Grizzle'><organization/></author>
<author fullname='M. Ansari' initials='M.' surname='Ansari'><organization/></author>
<author fullname='E. Wahlstroem' initials='E.' surname='Wahlstroem'><organization/></author>
<author fullname='C. Mortimore' initials='C.' surname='Mortimore'><organization/></author>
<date month='September' year='2015'/>
<abstract><t>The System for Cross-domain Identity Management (SCIM) specification is an HTTP-based protocol that makes managing identities in multi-domain scenarios easier to support via a standardized service. Examples include, but are not limited to, enterprise-to-cloud service providers and inter-cloud scenarios.  The specification suite seeks to build upon experience with existing schemas and deployments, placing specific emphasis on simplicity of development and integration, while applying existing authentication, authorization, and privacy models.  SCIM's intent is to reduce the cost and complexity of user management operations by providing a common user schema, an extension model, and a service protocol defined by this document.</t></abstract>
</front>
<seriesInfo name='RFC' value='7644'/>
<seriesInfo name='DOI' value='10.17487/RFC7644'/>
</reference>


<reference anchor='I-D.bhutton-json-schema'>
   <front>
      <title>JSON Schema: A Media Type for Describing JSON Documents</title>
      <author fullname='Austin Wright' initials='A.' surname='Wright'>
         </author>
      <author fullname='Henry Andrews' initials='H.' surname='Andrews'>
         </author>
      <author fullname='Ben Hutton' initials='B.' surname='Hutton'>
         <organization>Postman</organization>
      </author>
      <author fullname='Greg Dennis' initials='G.' surname='Dennis'>
         </author>
      <date day='10' month='June' year='2022'/>
      <abstract>
	 <t>   JSON Schema defines the media type &quot;application/schema+json&quot;, a JSON-
   based format for describing the structure of JSON data.  JSON Schema
   asserts what a JSON document must look like, ways to extract
   information from it, and how to interact with it.  The &quot;application/
   schema-instance+json&quot; media type provides additional feature-rich
   integration with &quot;application/schema+json&quot; beyond what can be offered
   for &quot;application/json&quot; documents.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-bhutton-json-schema-01'/>
   <format target='https://www.ietf.org/archive/id/draft-bhutton-json-schema-01.txt' type='TXT'/>
</reference>



<reference anchor='RFC2119' target='https://www.rfc-editor.org/info/rfc2119'>
<front>
<title>Key words for use in RFCs to Indicate Requirement Levels</title>
<author fullname='S. Bradner' initials='S.' surname='Bradner'><organization/></author>
<date month='March' year='1997'/>
<abstract><t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t></abstract>
</front>
<seriesInfo name='BCP' value='14'/>
<seriesInfo name='RFC' value='2119'/>
<seriesInfo name='DOI' value='10.17487/RFC2119'/>
</reference>



<reference anchor='RFC8174' target='https://www.rfc-editor.org/info/rfc8174'>
<front>
<title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
<author fullname='B. Leiba' initials='B.' surname='Leiba'><organization/></author>
<date month='May' year='2017'/>
<abstract><t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t></abstract>
</front>
<seriesInfo name='BCP' value='14'/>
<seriesInfo name='RFC' value='8174'/>
<seriesInfo name='DOI' value='10.17487/RFC8174'/>
</reference>



<reference anchor='RFC8520' target='https://www.rfc-editor.org/info/rfc8520'>
<front>
<title>Manufacturer Usage Description Specification</title>
<author fullname='E. Lear' initials='E.' surname='Lear'><organization/></author>
<author fullname='R. Droms' initials='R.' surname='Droms'><organization/></author>
<author fullname='D. Romascanu' initials='D.' surname='Romascanu'><organization/></author>
<date month='March' year='2019'/>
<abstract><t>This memo specifies a component-based architecture for Manufacturer Usage Descriptions (MUDs).  The goal of MUD is to provide a means for end devices to signal to the network what sort of access and network functionality they require to properly function.  The initial focus is on access control.  Later work can delve into other aspects.</t><t>This memo specifies two YANG modules, IPv4 and IPv6 DHCP options, a Link Layer Discovery Protocol (LLDP) TLV, a URL, an X.509 certificate extension, and a means to sign and verify the descriptions.</t></abstract>
</front>
<seriesInfo name='RFC' value='8520'/>
<seriesInfo name='DOI' value='10.17487/RFC8520'/>
</reference>




    </references>

    <references title='Informative References'>





<reference anchor='RFC8995' target='https://www.rfc-editor.org/info/rfc8995'>
<front>
<title>Bootstrapping Remote Secure Key Infrastructure (BRSKI)</title>
<author fullname='M. Pritikin' initials='M.' surname='Pritikin'><organization/></author>
<author fullname='M. Richardson' initials='M.' surname='Richardson'><organization/></author>
<author fullname='T. Eckert' initials='T.' surname='Eckert'><organization/></author>
<author fullname='M. Behringer' initials='M.' surname='Behringer'><organization/></author>
<author fullname='K. Watsen' initials='K.' surname='Watsen'><organization/></author>
<date month='May' year='2021'/>
<abstract><t>This document specifies automated bootstrapping of an Autonomic Control Plane.  To do this, a Secure Key Infrastructure is bootstrapped.  This is done using manufacturer-installed X.509 certificates, in combination with a manufacturer's authorizing service, both online and offline.  We call this process the Bootstrapping Remote Secure Key Infrastructure (BRSKI) protocol. Bootstrapping a new device can occur when using a routable address and a cloud service, only link-local connectivity, or limited/disconnected networks. Support for deployment models with less stringent security requirements is included. Bootstrapping is complete when the cryptographic identity of the new key infrastructure is successfully deployed to the device.  The established secure connection can be used to deploy a locally issued certificate to the device as well.</t></abstract>
</front>
<seriesInfo name='RFC' value='8995'/>
<seriesInfo name='DOI' value='10.17487/RFC8995'/>
</reference>




    </references>



  </back>

<!-- ##markdown-source:
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

-->

</rfc>

