C.2 Resource representation and APIs for VAL user profile

24.5463GPPConfiguration management - Service Enabler Architecture Layer for Verticals (SEAL)Protocol specificationRelease 17TS

C.2.1 SU_UserProfile API

C.2.1.1 API URI

The CoAP URIs used in CoAP requests from SCM-C towards the SCM-S shall have the Resource URI structure as defined in clause C.1.1 with the following clarifications:

– the <apiName> shall be "su-up";

– the <apiVersion> shall be "v1"; and

– the <apiSpecificSuffixes> shall be set as described in clause C.2.1.2.

C.2.1.2 Resources

C.2.1.2.1 Overview

Figure C.2.1.2.1-1: Resource URI structure of the SU_UserProfile API

Table C.2.1.2.1-1 provides an overview of the resources and applicable CoAP methods.

Table C.2.1.2.1-1: Resources and methods overview

Resource name

Resource URI

CoAP method

Description

User Profiles

/val-services/{valServiceId}/user-profiles

GET

Retrieve VAL user or VAL UE’s user profiles for a given VAL service, according to query criteria.

POST

Create user profile.

Individual User Profile

/val-services/{valServiceId}/user-profiles/{profileDocId}

GET

Retrieve an individual user profile.

PUT

Update an individual user profile.

DELETE

Delete an individual user profile.

Editor’s note: Whether any changes required in the API along with its data model based on limitations of constrained devices is FFS.

C.2.1.2.2 Resource: User Profiles

C.2.1.2.2.1 Description

The User Profiles resource allows a SCM-C to retrieve all the user profiles of a VAL user or a VAL UE for a specific VAL service that are available at a given SCM-S, or allows to create a new user profile.

C.2.1.2.2.2 Resource Definition

Resource URI: {apiRoot}/su-up/<apiVersion>/val-services/{valServiceId}/user-profiles

This resource shall support the resource URI variables defined in the table C.2.1.2.2.2-1.

Table C.2.1.2.2.2-1: Resource URI variables for this resource

Name

Data Type

Definition

apiRoot

string

See clause C.1.1

apiVersion

string

See clause C.2.1.1

valServiceId

string

Identifier of a VAL service.

C.2.1.2.2.3 Resource Standard Methods

C.2.1.2.2.3.1 GET

This operation retrieves VAL user or VAL UE profile information satisfying the filter criteria.

This method shall support the URI query parameters specified in table C.2.1.2.2.3.1-1.

Table C.2.1.2.2.3.1-1: URI query parameters supported by the GET Request on this resource

Name

Data type

P

Cardinality

Description

val-tgt-ue

ValTargetUe

M

1

Identifies a VAL target UE.

This method shall support the response data structures and response codes specified in table C.2.1.2.2.3.1-2.

Table C.2.1.2.2.3.1-2: Data structures supported by the GET Response payload on this resource

Data type

P

Cardinality

Response

codes

Description

array(ProfileDoc)

M

0..N

2.05 Content

List of VAL user / VAL UE profile documents. This response shall include user profile information matching the query parameters provided in the request.

NOTE: The mandatory CoAP error status codes for the GET Request listed in table C.1.3-1 shall also apply.

C.2.1.2.2.3.2 POST

This operation creates a VAL user or VAL UE profile information at the SCM-S for a given VAL service.

This method shall support the request data structures specified in table C.2.1.2.2.3.2-1, the response data structures and response codes specified in table C.2.1.2.2.3.2-2, and the response options specified in table C.2.1.2.2.3.2-3.

Table C.2.1.2.2.3.2-1: Data structures supported by the POST Request payload on this resource

Data type

P

Cardinality

Description

ProfileDoc

M

1

The user profile document to be created for a VAL user or VAL UE.

Table C.2.1.2.2.3.2-2: Data structures supported by the POST Response payload on this resource

Data type

P

Cardinality

Response

codes

Description

ProfileDoc

O

0..1

2.01 Created

The user profile was created successfully.

The "profileDocId" of the created resource shall be returned in the "Location-Path" option.

NOTE: The mandatory CoAP error status codes for the POST method listed in table C.1.3-1 shall also apply.

Table C.2.1.2.2.3.2-3: Options supported by the 2.01 Response Code on this resource

Name

Data type

P

Cardinality

Description

Location-Path

string

M

1

Contains the location path of the newly created resource relative to the request URI.

It contains the profileDocId segment of the complete resource URI according to the structure: {apiRoot}/su-up/<apiVersion>/val-services/{valServiceId}/user-profiles/{profileDocId}

C.2.1.2.3 Resource: Individual User Profile

C.2.1.2.3.1 Description

The Individual User Profile resource represents an individual user profile that is created at the SCM-S for a given VAL service. This resource is observable.

C.2.1.2.3.2 Resource Definition

Resource URI: {apiRoot}/su-up/<apiVersion>/val-services/{valServiceId}/user-profiles/{profileDocId}

This resource shall support the resource URI variables defined in the table C.2.1.2.3.2-1.

Table C.2.1.2.3.2-1: Resource URI variables for this resource

Name

Data Type

Definition

apiRoot

string

See clause C.1.1

apiVersion

string

See clause C.2.1.1

valServiceId

string

Identifier of a VAL service.

profileDocId

string

Represents an individual user profile resource.

C.2.1.2.3.3 Resource Standard Methods

C.2.1.2.3.3.1 GET

This operation retrieves the user profile document.

This method shall support the request options specified in table C.2.1.2.3.3.1-1, the response data structures and response codes specified in table C.2.1.2.3.3.1-2, and the response options specified in table C.2.1.2.3.3.1-3.

Table C.2.1.2.3.3.1-1: Options supported by the GET Request on this resource

Name

Data type

P

Cardinality

Description

Observe

Uinteger

O

0..1

When set to 0 (Register) it extends the GET request to subscribe to the changes of this resource.

When set to 1 (Deregister) it cancels the subscription.

NOTE: Other request options also apply in accordance with normal CoAP procedures.

Table C.2.1.2.3.3.1-2: Data structures supported by the GET Response payload on this resource

Data type

P

Cardinality

Response

codes

Description

ProfileDoc

M

1

2.05 Content

The User profile information based on the request from the SCM-C.

NOTE: The mandatory CoAP error status codes for the GET Request listed in table C.1.3-1 shall also apply.

Table C.2.1.2.3.3.1-3: Options supported by the 2.05 Response Code on this resource

Name

Data type

P

Cardinality

Description

Observe

Uinteger

O

0..1

Sequence number of the notification.

NOTE: Other response options also apply in accordance with normal CoAP procedures.

C.2.1.2.3.3.2 PUT

This operation updates the user profile document.

This method shall support the request data structures specified in table C.2.1.2.3.3.2-1 and the response data structures and response codes specified in table C.2.1.2.3.3.2-2.

Table C.2.1.2.3.3.2-1: Data structures supported by the PUT Request payload on this resource

Data type

P

Cardinality

Description

ProfileDoc

M

1

Updated details of the user profile document.

Table C.2.1.2.3.3.2-2: Data structures supported by the PUT Response payload on this resource

Data type

P

Cardinality

Response

codes

Description

ProfileDoc

O

0..1

2.04 Changed

The user profile document updated successfully and the updated user profile document may be returned in the response.

NOTE: The mandatory CoAP error status codes for the PUT method listed in table C.1.3-1 shall also apply.

C.2.1.2.3.3.3 DELETE

This operation deletes the user profile document.

This method shall support the response data structures and response codes specified in table C.2.1.2.3.3.3-1.

Table C.2.1.2.3.3.3-1: Data structures supported by the DELETE Response payload on this resource

Data type

P

Cardinality

Response

codes

Description

n/a

2.02 Deleted

The individual User profile document matching the profileDocId is deleted.

NOTE: The mandatory CoAP error status codes for the DELETE method listed in table C.1.3-1 shall also apply.

C.2.1.3 Data Model

C.2.1.3.1 General

Table C.2.1.3.1-1 specifies the data types defined specifically for the SU_UserProfile API service.

Table C.2.1.3.1-1: SU_UserProfile API specific Data Types

Data type

Section defined

Description

Applicability

ProfileDoc

C.2.1.3.2.1

Profile information associated with VAL user ID or VAL UE ID.

ProfileInfo

C.2.1.3.2.2

Profile information including profile configurations.

ProfileConfig

C.2.1.3.2.3

Profile configuration including configuration data.

ConfigType

C.2.1.3.3.1

Specifies type of features for which the configuration data is applicable.

ValTargetUe

C.2.1.3.2.4

Information identifying a VAL user ID or VAL UE ID.

C.2.1.3.2 Structured data types

C.2.1.3.2.1 Type: ProfileDoc

Table C.2.1.3.2.1-1: Definition of type ProfileDoc

Attribute name

Data type

P

Cardinality

Description

Applicability

profileDocId

string

O

0..1

Contains the profileDocId of the complete resource URI of this user profile document according to the structure: {apiRoot}/su-up/<apiVersion>/val-services/{valServiceId}/user-profiles/{profileDocId}

This attribute shall be provided by the SCM-S in CoAP responses.

profileInformation

ProfileInfo

M

1

Profile information associated with a VAL user or a VAL UE as specified in valTgtUe.

valTgtUe

ValTargetUe

M

1

Unique identifier of a VAL user or a VAL UE.

C.2.1.3.2.2 Type: ProfileInfo

Table C2.1.4.2.2-1: Definition of type ProfileInfo

Attribute name

Data type

P

Cardinality

Description

Applicability

profileName

string

O

0..1

Name of the user profile.

status

boolean

M

1

Indicates whether the user profile is enabled or disabled.

array(ProfileConfig)

ProfileConfig

O

1..N

List of profile configurations.

isDefault

boolean

O

0..1

Indicates whether the user profile is the default profile for VAL user or not.

C.2.1.3.2.3 Type: ProfileConfig

Table C.2.1.3.2.3-1: Definition of type ProfileConfig

Attribute name

Data type

P

Cardinality

Description

Applicability

configType

ConfigType

M

1

Indicates the type of the profile configuration.

configData

string

M

1

Actual user profile configuration data.

C.2.1.3.2.4 Type: ValTargetUe

Table C.2.1.3.2.4-1: Definition of type ValTargetUe

Attribute name

Data type

P

Cardinality

Description

Applicability

valUserId

string

O

0..1

Unique identifier of a VAL user.

valUeId

string

O

0..1

Unique identifier of a VAL UE.

NOTE: Either "valUserId" or "valUeId" shall be present.

C.2.1.3.3 Simple data types and enumerations

C.2.1.3.3.1 Enumeration: ConfigType

Table C.2.1.3.3.1-1: Enumeration ConfigType

Enumeration value

Description

Applicability

COMMON

Indicates VAL service specific configuration for common features.

ON_NETWORK

Indicates VAL service specific configuration for on-network features.

OFF_NETWORK

Indicates VAL service specific configuration for off-network features.

C.2.1.4 Error Handling

General error responses are defined in clause C.1.3.

C.2.1.5 CDDL Specification

C.2.1.5.1 Introduction

The data model described in clause C.2.1.3 shall be binary encoded in the CBOR format as described in IETF RFC 8949 [17].

Clause C.2.1.5.2 uses the Concise Data Definition Language described in IETF RFC 8610 [18] and provides corresponding representation of the SU_UserProfile API data model.

C.2.1.5.2 CDDL document

;;; ProfileDoc

;;+ Represents user profile information associated with a VAL user ID or a VAL UE ID.

ProfileDoc = {

? profileDocId: text

profileInformation: ProfileInfo

valTgtUe: ValTargetUe

}

;;; ValTargetUe

;;+ Represents information identifying a VAL user ID or a VAL UE ID.

ValTargetUe = {

(

valUserId: text ; Unique identifier of a VAL user.

//

valUeId: text ; Unique identifier of a VAL UE.

)

}

;;; ProfileInfo

;;+ User profile information.

ProfileInfo = {

? profileName: text ; Name of the profile

status: bool ; Indicates whether the user profile is enabled or disabled.

? profileConfigs: [+ ProfileConfig]

? isDefault: bool ; Indicates whether the user profile is the default profile for VAL user or not.

}

;;; ProfileConfig

;;+ Profile configuration.

ProfileConfig = {

configType: ConfigType

configData: text ; Actual user profile configuration data.

}

;;; ConfigType

;;+ Indicates the type of the configuration.

ConfigType = "COMMON" / "ON_NETWORK" / "OFF_NETWORK" / text

C.2.1.6 Media Type

The media type for a user profile document shall be "application/vnd.3gpp.seal-user-profile-info+cbor".

Editor’s Note: It is possible to specify other payload format for CoAP than CBOR, and the details about other payload format is FFS.

C.2.1.7 Media Type registration for application/vnd.3gpp.seal-user-profile-info+cbor

Type name: application

Subtype name: vnd.3gpp.seal-user-profile-info+cbor

Required parameters: none

Optional parameters: none

Encoding considerations: Must be encoded as using IETF RFC 8949 [17]. See 3GPP TS 24.546 clause C.2.1.3 for details.

Security considerations: See Section 10 of IETF RFC 8949 [17] and Section 11 of IETF RFC 7252 [12].

Interoperability considerations: Applications must ignore any key-value pairs that they do not understand. This allows backwards-compatible extensions to this specification.

Published specification: 3GPP TS 24.546 "Configuration management – Service Enabler Architecture Layer for Verticals (SEAL); Protocol specification", available via http://www.3gpp.org/specs/numbering.htm.

Applications that use this media type: Applications supporting the SEAL configuration management procedures as described in the published specification.

Fragment identifier considerations: Fragment identification is the same as specified for "application/cbor" media type in IETF RFC 8949 [17]. Note that currently that RFC does not define fragmentation identification syntax for "application/cbor".

Additional information:

Deprecated alias names for this type: N/A

Magic number(s): N/A

File extension(s): none

Macintosh file type code(s): none

Person & email address to contact for further information: <MCC name>, <MCC email address>

Intended usage: COMMON

Restrictions on usage: None

Author: 3GPP CT1 Working Group/3GPP_TSG_CT_WG1@LIST.ETSI.ORG

Change controller: <MCC name>/<MCC email address>