| 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. | ||||