rfc9944v3.txt   rfc9944.txt 
skipping to change at line 231 skipping to change at line 231
+-----------------------------------+ +-----------------------------------+
Figure 1: Basic Architecture - Non-IP Example Figure 1: Basic Architecture - Non-IP Example
In Figure 1, the onboarding application (app) provides the device In Figure 1, the onboarding application (app) provides the device
particulars, which will vary based on the type of device, as particulars, which will vary based on the type of device, as
indicated by the selection of schema extensions. As part of the indicated by the selection of schema extensions. As part of the
response, the SCIM server might provide additional information, response, the SCIM server might provide additional information,
especially in the case of non-IP devices, where an application-layer especially in the case of non-IP devices, where an application-layer
gateway may need to be used to communicate with the device (c.f., gateway may need to be used to communicate with the device (c.f.,
[NIPC-API]). The control endpoint is one among a number of objects [NIPC]). The control endpoint is one among a number of objects that
that may be returned. That control endpoint will then communicate may be returned. That control endpoint will then communicate with
with the Application Layer Gateway (ALG) to reach the device. the Application Layer Gateway (ALG) to reach the device.
+------------------------------------+ +------------------------------------+
| | | |
+-----------+ Request | +---------+ +----+ +------+ | +-----------+ Request | +---------+ +----+ +------+ |
| Onboarding|------------->| SCIM |-->| AAA|<-->|Switch| | | Onboarding|------------->| SCIM |-->| AAA|<-->|Switch| |
| App |<-------------| Server | +----+ +------+ | | App |<-------------| Server | +----+ +------+ |
+-----------+ Ctrl Endpt +---------+ | | +-----------+ Ctrl Endpt +---------+ | |
| | | | | |
+-----------+ | +------------+ +-------+ | +-----------+ | +------------+ +-------+ |
| Control |...........|..| Router/fw |.........|Device | | | Control |...........|..| Router/fw |.........|Device | |
skipping to change at line 733 skipping to change at line 733
<CODE BEGINS> <CODE BEGINS>
{ {
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Device", "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:ble:2.0:Device"],
"id": "e9e30dba-f08f-4109-8486-d5c6a3316111", "id": "e9e30dba-f08f-4109-8486-d5c6a3316111",
"displayName": "BLE Heart Monitor", "displayName": "BLE Heart Monitor",
"active": true, "active": true,
"urn:ietf:params:scim:schemas:extension:ble:2.0:Device" : { "urn:ietf:params:scim:schemas:extension:ble:2.0:Device" : {
"versionSupport": ["5.3"], "versionSupport": ["5.4"],
"deviceMacAddress": "2C:54:91:88:C9:E2", "deviceMacAddress": "2C:54:91:88:C9:E2",
"isRandom": false, "isRandom": false,
"separateBroadcastAddress": ["AA:BB:88:77:22:11", "AA:BB:88:77:\ "separateBroadcastAddress": ["AA:BB:88:77:22:11", "AA:BB:88:77:\
22:12"], 22:12"],
"mobility": true, "mobility": true,
"pairingMethods": ["urn:ietf:params:scim:schemas:extension:\ "pairingMethods": ["urn:ietf:params:scim:schemas:extension:\
pairingPassKey:2.0:Device"], pairingPassKey:2.0:Device"],
"urn:ietf:params:scim:schemas:extension:pairingPassKey:2.0:\ "urn:ietf:params:scim:schemas:extension:pairingPassKey:2.0:\
Device" : { Device" : {
"key": 123456 "key": 123456
skipping to change at line 773 skipping to change at line 773
<CODE BEGINS> <CODE BEGINS>
{ {
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Device", "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:ble:2.0:Device"],
"id": "e9e30dba-f08f-4109-8486-d5c6a3316111", "id": "e9e30dba-f08f-4109-8486-d5c6a3316111",
"displayName": "BLE Heart Monitor", "displayName": "BLE Heart Monitor",
"active": true, "active": true,
"urn:ietf:params:scim:schemas:extension:ble:2.0:Device" : { "urn:ietf:params:scim:schemas:extension:ble:2.0:Device" : {
"versionSupport": ["5.3"], "versionSupport": ["5.4"],
"deviceMacAddress": "2C:54:91:88:C9:E2", "deviceMacAddress": "2C:54:91:88:C9:E2",
"isRandom": false, "isRandom": false,
"separateBroadcastAddress": ["AA:BB:88:77:22:11", "AA:BB:88:77:\ "separateBroadcastAddress": ["AA:BB:88:77:22:11", "AA:BB:88:77:\
22:12"], 22:12"],
"mobility": true, "mobility": true,
"pairingMethods": ["urn:ietf:params:scim:schemas:extension:\ "pairingMethods": ["urn:ietf:params:scim:schemas:extension:\
pairingOOB:2.0:Device"], pairingOOB:2.0:Device"],
"urn:ietf:params:scim:schemas:extension:pairingOOB:2.0:Device": { "urn:ietf:params:scim:schemas:extension:pairingOOB:2.0:Device": {
"key": "TheKeyvalueRetrievedFromOOB", "key": "TheKeyvalueRetrievedFromOOB",
"randomNumber": 238796813516896 "randomNumber": 238796813516896
skipping to change at line 813 skipping to change at line 813
<CODE BEGINS> <CODE BEGINS>
{ {
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Device", "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:ble:2.0:Device"],
"id": "e9e30dba-f08f-4109-8486-d5c6a3316111", "id": "e9e30dba-f08f-4109-8486-d5c6a3316111",
"displayName": "BLE Heart Monitor", "displayName": "BLE Heart Monitor",
"active": true, "active": true,
"urn:ietf:params:scim:schemas:extension:ble:2.0:Device" : { "urn:ietf:params:scim:schemas:extension:ble:2.0:Device" : {
"versionSupport": ["5.3"], "versionSupport": ["5.4"],
"deviceMacAddress": "2C:54:91:88:C9:E2", "deviceMacAddress": "2C:54:91:88:C9:E2",
"isRandom": false, "isRandom": false,
"separateBroadcastAddress": ["AA:BB:88:77:22:11", "AA:BB:88:77:\ "separateBroadcastAddress": ["AA:BB:88:77:22:11", "AA:BB:88:77:\
22:12"], 22:12"],
"mobility": true, "mobility": true,
"pairingMethods": ["urn:ietf:params:scim:schemas:extension:\ "pairingMethods": ["urn:ietf:params:scim:schemas:extension:\
pairingPassKey:2.0:Device", pairingPassKey:2.0:Device",
"urn:ietf:params:scim:schemas:extension:pairingOOB:2.0:\ "urn:ietf:params:scim:schemas:extension:pairingOOB:2.0:\
Device"], Device"],
"urn:ietf:params:scim:schemas:extension:pairingPassKey:2.0:\ "urn:ietf:params:scim:schemas:extension:pairingPassKey:2.0:\
skipping to change at line 1242 skipping to change at line 1242
<CODE BEGINS> <CODE BEGINS>
{ {
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Device", "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:ble:2.0:Device",
"urn:ietf:params:scim:schemas:extension:endpointAppsExt:2.0:\ "urn:ietf:params:scim:schemas:extension:endpointAppsExt:2.0:\
Device"], Device"],
"id": "e9e30dba-f08f-4109-8486-d5c6a3316111", "id": "e9e30dba-f08f-4109-8486-d5c6a3316111",
"displayName": "BLE Heart Monitor", "displayName": "BLE Heart Monitor",
"active": true, "active": true,
"urn:ietf:params:scim:schemas:extension:ble:2.0:Device" : { "urn:ietf:params:scim:schemas:extension:ble:2.0:Device" : {
"versionSupport": ["5.3"], "versionSupport": ["5.4"],
"deviceMacAddress": "2C:54:91:88:C9:E2", "deviceMacAddress": "2C:54:91:88:C9:E2",
"isRandom": false, "isRandom": false,
"separateBroadcastAddress": ["AA:BB:88:77:22:11", "AA:BB:88:77:\ "separateBroadcastAddress": ["AA:BB:88:77:22:11", "AA:BB:88:77:\
22:12"], 22:12"],
"mobility": false, "mobility": false,
"pairingMethods": [ "pairingMethods": [
"urn:ietf:params:scim:schemas:extension:pairingPassKey:2.0:\ "urn:ietf:params:scim:schemas:extension:pairingPassKey:2.0:\
Device"], Device"],
"urn:ietf:params:scim:schemas:extension:pairingPassKey:2.0:\ "urn:ietf:params:scim:schemas:extension:pairingPassKey:2.0:\
Device" : { Device" : {
skipping to change at line 1498 skipping to change at line 1498
[Zigbee] Zigbee Alliance, "Zigbee Specification", ZigBee Document [Zigbee] Zigbee Alliance, "Zigbee Specification", ZigBee Document
05-3474-21, August 2015, <https://zigbeealliance.org/wp- 05-3474-21, August 2015, <https://zigbeealliance.org/wp-
content/uploads/2019/11/docs-05-3474-21-0csg-zigbee- content/uploads/2019/11/docs-05-3474-21-0csg-zigbee-
specification.pdf>. specification.pdf>.
10.2. Informative References 10.2. Informative References
[JSONSchema] [JSONSchema]
Wright, A., Ed., Andrews, H. A., Ed., Hutton, B., Ed., and Wright, A., Ed., Andrews, H. A., Ed., Hutton, B., Ed., and
G. Dennis, "JSON Schema- A Media Type for Describing JSON G. Dennis, "JSON Schema: A Media Type for Describing JSON
Documents", December 2022, Documents", December 2022,
<https://json-schema.org/draft/2020-12/json-schema-core>. <https://json-schema.org/draft/2020-12/json-schema-core>.
[NIPC] Brinckman, B., Mohan, R., and B. Sanford, "An Application [NIPC] Brinckman, B., Mohan, R., and B. Sanford, "An Application
Layer Interface for Non-IP device control (NIPC)", Work in
Progress, Internet-Draft, draft-brinckman-nipc-01, 21
April 2024, <https://datatracker.ietf.org/doc/html/draft-
brinckman-nipc-01>.
[NIPC-API] Brinckman, B., Mohan, R., and B. Sanford, "An Application
Layer Interface for Non-Internet-Connected Physical Layer Interface for Non-Internet-Connected Physical
Components (NIPC)", Work in Progress, Internet-Draft, Components (NIPC)", Work in Progress, Internet-Draft,
draft-ietf-asdf-nipc-18, 24 February 2026, draft-ietf-asdf-nipc-18, 24 February 2026,
<https://datatracker.ietf.org/doc/html/draft-ietf-asdf- <https://datatracker.ietf.org/doc/html/draft-ietf-asdf-
nipc-18>. nipc-18>.
[OAUTHv2] Hardt, D., Ed., "The OAuth 2.0 Authorization Framework",
RFC 6749, DOI 10.17487/RFC6749, October 2012,
<https://www.rfc-editor.org/info/rfc6749>.
[OpenAPI] Swagger, "OpenAPI Specification", Version 3.1.1, October [OpenAPI] Swagger, "OpenAPI Specification", Version 3.1.1, October
2024, <https://swagger.io/specification/>. 2024, <https://swagger.io/specification/>.
[RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
and A. Bierman, Ed., "Network Configuration Protocol and A. Bierman, Ed., "Network Configuration Protocol
(NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
<https://www.rfc-editor.org/info/rfc6241>. <https://www.rfc-editor.org/info/rfc6241>.
[RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language",
RFC 7950, DOI 10.17487/RFC7950, August 2016, RFC 7950, DOI 10.17487/RFC7950, August 2016,
skipping to change at line 1873 skipping to change at line 1871
[ [
{ {
"id": "urn:ietf:params:scim:schemas:extension:ble:2.0:Device", "id": "urn:ietf:params:scim:schemas:extension:ble:2.0:Device",
"name": "bleExtension", "name": "bleExtension",
"description": "BLE extension for device account.", "description": "BLE extension for device account.",
"attributes" : [ "attributes" : [
{ {
"name": "versionSupport", "name": "versionSupport",
"type": "string", "type": "string",
"description": "Provides a list of all the BLE versions \ "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]\ supported by the device, for example, [4.1, 4.2, 5.0, 5.1, 5.2, 5.4]\
.", .",
"multiValued": true, "multiValued": true,
"required": true, "required": true,
"caseExact": false, "caseExact": false,
"mutability": "readWrite", "mutability": "readWrite",
"returned": "default", "returned": "default",
"uniqueness": "none" "uniqueness": "none"
}, },
{ {
"name": "deviceMacAddress", "name": "deviceMacAddress",
skipping to change at line 1899 skipping to change at line 1897
"required": true, "required": true,
"caseExact": false, "caseExact": false,
"mutability": "readWrite", "mutability": "readWrite",
"returned": "default", "returned": "default",
"uniqueness": "Manufacturer" "uniqueness": "Manufacturer"
}, },
{ {
"name": "isRandom", "name": "isRandom",
"type": "boolean", "type": "boolean",
"description": "The isRandom flag is taken from the BLE \ "description": "The isRandom flag is taken from the BLE \
core specifications 5.3. If true, device is using a random address\ core specifications 5.4. If true, device is using a random address\
. Default value is false.", . Default value is false.",
"multiValued": false, "multiValued": false,
"required": false, "required": false,
"caseExact": false, "caseExact": false,
"mutability": "readWrite", "mutability": "readWrite",
"returned": "default", "returned": "default",
"uniqueness": "none" "uniqueness": "none"
}, },
{ {
"name": "separateBroadcastAddress", "name": "separateBroadcastAddress",
skipping to change at line 2697 skipping to change at line 2695
required: true required: true
BleDeviceExtension: BleDeviceExtension:
type: object type: object
properties: properties:
versionSupport: versionSupport:
type: array type: array
items: items:
type: string type: string
description: Provides a list of all the BLE versions description: Provides a list of all the BLE versions
supported by the device, for example, supported by the device, for example,
[4.1, 4.2, 5.0, 5.1, 5.2, 5.3]. [4.1, 4.2, 5.0, 5.1, 5.2, 5.4].
readOnly: false readOnly: false
writeOnly: false writeOnly: false
deviceMacAddress: deviceMacAddress:
type: string type: string
description: It is the public MAC address assigned by the description: It is the public MAC address assigned by the
manufacturer. It is a unique 48-bit value. The manufacturer. It is a unique 48-bit value. The
regex pattern is regex pattern is
^[0-9A-Fa-f]{2}(:[0-9A-Fa-f]{2}){5}. ^[0-9A-Fa-f]{2}(:[0-9A-Fa-f]{2}){5}.
readOnly: false readOnly: false
writeOnly: false writeOnly: false
isRandom: isRandom:
type: boolean type: boolean
description: AddressType flag is taken from the BLE core description: AddressType flag is taken from the BLE core
specifications 5.3. If false, the device is specifications 5.4. If false, the device is
using a public MAC address. If true, device using a public MAC address. If true, device
is using a random address. is using a random address.
readOnly: false readOnly: false
writeOnly: false writeOnly: false
separateBroadcastAddress: separateBroadcastAddress:
type: string type: string
description: "When present, this address is used for description: "When present, this address is used for
broadcasts/advertisements. This value broadcasts/advertisements. This value
MUST NOT be set when an IRK is provided. MUST NOT be set when an IRK is provided.
 End of changes. 12 change blocks. 
18 lines changed or deleted 16 lines changed or added

This html diff was produced by rfcdiff 1.48.