C.1 General
24.5463GPPConfiguration management - Service Enabler Architecture Layer for Verticals (SEAL)Protocol specificationRelease 17TS
The information in this annex provides a normative description of CoAP resource representation and encoding.
C.1.1 Resource URI structure
All API URIs of SEAL-UU APIs shall be specified as follows:
{apiRoot}/<apiName>/<apiVersion>
"apiRoot" is configured by means outside the scope of the present document. It includes one of the schemes ("coaps", "coaps+tcp", "coaps+ws"), host and optional port, and an optional prefix string. "apiName" and "apiVersion" shall be set dependent on the API, as defined in the corresponding clauses below.
All resource URIs specified for SEAL-UU APIs shall be defined relative to the above root API URI.
URIs which differ only in the scheme shall point to the same resource.
NOTE: The "apiVersion" will only be increased if the new API version contains backward incompatible changes.
The root structure may be followed by "apiSpecificSuffixes" that are dependent on the API and are defined separately for each API as resource URI where they apply:
{apiRoot}/<apiName>/<apiVersion>/<apiSpecificSuffixes>
C.1.2 Use of cache
It is recommended for the SEAL clients and servers to support and use the caching mechanism specified in IETF RFC 7252 [12]. This implies support and use of the Max-Age and ETag options.
C.1.3 Error handling
Table C.1.3-1 lists response payload types that are applicable to all APIs and as responses for all requests in the present specification unless otherwise specified. The CoAP client shall mandatorily support the processing of the status code for all the applicable methods, when received in a CoAP response message.
Table C.1.3-1: Response payloads supported for responses to all requests.
Response body |
Data type |
Cardinality |
Response Codes (NOTE) |
Remarks |
Applied Methods |
ProblemDetails |
1 |
4.00 Bad Request |
Incorrect parameters were passed in the request. |
GET, FETCH, POST PUT, PATCH, iPATCH, DELETE |
|
ProblemDetails |
1 |
4.01 Unauthorized |
The client is not authorized. |
GET, FETCH, POST, PUT, PATCH, iPATCH, DELETE |
|
ProblemDetails |
1 |
4.02 Bad Option |
The request could not be understood by the server due to one or more unrecognized or malformed options. |
GET, FETCH, POST, PUT, PATCH, iPATCH, DELETE |
|
ProblemDetails |
1 |
4.03 Forbidden |
This represents the case when the server is able to understand the request but unable to fulfil the request due to errors (e.g. the requested parameters are out of range). More information may be provided in the "invalidParams" attribute of the "ProblemDetails" structure. |
GET, FETCH, POST, PUT, PATCH, iPATCH, DELETE |
|
ProblemDetails |
1 |
4.04 Not Found |
The resource URI was incorrect. |
GET, POST, PUT, PATCH, iPATCH, DELETE |
|
ProblemDetails |
1 |
4.06 Not Acceptable |
The content format provided in the "Accept" option is not acceptable by the server. |
GET, FETCH, |
|
ProblemDetails |
1 |
4.13 Request Entity Too Large |
If the received CoAP request contains entity larger than the server is able to process, the server shall reject the CoAP request with this status code. The server should include Size1 option in the response with the maximum size of the request entity it can handle. |
FETCH, POST, PUT, PATCH, iPATCH, |
|
ProblemDetails |
1 |
4.15 Unsupported Content-Format |
The code indicates that the resource is in a format which is not supported by the server for the method. |
FETCH, POST, PUT, PATCH, iPATCH |
|
ProblemDetails |
1 |
4.22 Unprocessable Entity |
The code indicates the server is unable to or is incapable of processing the request. |
FETCH, PATCH, iPATCH |
|
ProblemDetails |
1 |
4.29 Too Many Requests |
The code indicates that due to excessive traffic which, if continued over time, may lead to (or may increase) an overload situation. The CoAP option "Max-Age" may be added in the response to indicate how long the client has to wait before making a new request. |
GET, FETCH, POST, PUT, PATCH, iPATCH, DELETE |
|
ProblemDetails |
1 |
5.00 Internal Server Error |
The server encountered an unexpected condition that prevented it from fulfilling the request. |
GET, FETCH, POST, PUT, PATCH, iPATCH, DELETE |
|
ProblemDetails |
1 |
5.03 Service Unavailable |
The server is unable to handle the request. |
GET, FETCH, POST, PUT, PATCH, iPATCH, DELETE |
|
NOTE: In addition to the above response codes, the CoAP server may also send other valid CoAP response codes, if applicable. The list of all valid CoAP response codes can be found in CoAP Response Code Registry at IANA [19]. NOTE 2: CBOR encoding and media type "application/concise-problem-details+cbor" ProblemDetails shall be used for ProblemDetails as defined in the IETF draft draft-problem-details-02 [20]. |
Specific errors are contained in the related API definition for each API.
C.1.4 Data types applicable to multiple resource representations
C.1.4.1 General
This clause defines structured data types, simple data types, and enumerations that are applicable to several APIs defined for CoAP resource representations in the present specification and other SEAL specifications and can be referenced from data structures defined in the subsequent clauses and from CoAP resource representations in other SEAL specifications.
NOTE: As a convention, data type names in the present specification follows UpperCamel and parameters follows lowerCamel as specified in clause 5.1.1 of 3GPP TS 29.501 [23].
C.1.4.2 Referenced structured data types
Table C.1.4.2-1 lists structured data types referenced by multiple CoAP resource representations and defined in this specification or in other specifications.
Table C.1.4.2-1: Referenced Structured Data Types
Data type |
Reference |
Description |
ValTargetUe |
Clause C.2.1.4.2.4 |
Information identifying a VAL user ID or VAL UE ID. |
ScheduledCommunicationTime |
Clause C.1.4.4.1 |
Defines time schedule for communication. |
C.1.4.3 Referenced simple data types and enumerations
The simple datatypes based on the CBOR types are defined in table C.1.4.3-1 and the simple data types defined in table 5.2.1.3.2-2 apply to multiple SEAL-UU APIs.
Table C.1.4.3-1: CBOR-based data types
Type name |
Description |
bytes |
Is a "byte string" as defined in IETF RFC 8949 [17]. |
boolean |
Is a type which has 2 values "false" and "true" with the values as defined in IETF RFC 8949 [17]. |
integer |
As defined in IETF RFC 8949 [17]. |
number |
Is any number as defined in IETF RFC 8949 [17]. Precision format (half-precision, single-precision, and double-precision) can be indicated. |
string |
Is a "text string" as defined in IETF RFC 8949 [17]. |
Table C.1.4.3-2: Simple data types applicable to multiple CoAP resource representations
Type name |
Description |
Altitude |
Number indicating value of altitude in the range from minimum value -32767 to maximum value 32767. |
Angle |
Integer indicating a value of the angle in the range from minimum value 0 to maximum value 360. |
CellId |
String containing a unique identifier of a cell. |
Confidence |
Integer indicating a value of confidence in the range from minimum value 0 to maximum value 100. |
ExternalGroupId |
String containing a local identifier followed by "@" and a domain identifier. Both the local identifier and the domain identifier shall be encoded as strings that do not contain any "@" characters. See Clauses 4.6.2 and 4.6.3 of 3GPP TS 23.682[24] for more information. |
DateTime |
Is a string in the standard format described by the "date-time" production in IETF RFC3339 [25]. |
DayOfWeek |
Integer between and including 1 and 7 denoting a weekday. 1 shall indicate Monday, and the subsequent weekdays shall be indicated with the next higher numbers. 7 shall indicate Sunday. |
GeographicalAreaId |
String identifying a geographical area. |
InnerRadius |
Integer indicating a value of the inner radius in the range from minimum value 0 to maximum value 327675. |
MbmsSaId |
String containing a unique identifier of a MBMS serving area. |
MbsfnAreaId |
String containing a unique identifier of a MBSFN area. |
Orientation |
Integer indicating a value of orientation angle in the range from minimum value 0 to maximum value 180. |
PlmnId |
String containing a unique identifier of a PLMN. |
TaId |
String containing a unique identifier of a tracking area. |
Tmgi |
Byte string containing an identifier of Temporary Mobile Group Identity. The contents of Tmgi are coded as octet 3 and above of Temporary Mobile Group Identity (TMGI) IE as defined in 3GPP TS 24.008 [28] clause 10.5.6.13. |
TimeOfDay |
String with format partial-time or full-time as defined in clause 5.6 of IETF RFC 3339 [25]. Examples, 20:15:00, 20:15:00-08:00 (for 8 hours behind UTC). |
Uinteger |
Unsigned integer, i.e. only value 0 and values above 0 are permissible. |
Uncertainty |
Number indicating value of uncertainty with minimum value 0 |
Uri |
String providing an URI formatted according to IETF RFC 3986 [22]. |
Table C.1.4.3-3 lists simple data types and enumerations referenced by multiple CoAP resource representations defined in this specification or in other specifications.
Table C.1.4.3-3: Enumerations applicable to multiple CoAP resource representations
Type name |
Reference |
Description |
ConfigType |
C.2.1.4.3.1 |
Represents the type of configuration. |
C.1.4.4 Common structured data types
C.1.4.4.1 Type: ScheduledCommunicationTime
Table C.1.4.4.1-1: Definition of type ScheduledCommunicationTime
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
daysOfWeek |
array(DayOfWeek) |
O |
0..6 |
Identifies the day(s) of the week. If absent, it indicates every day of the week. |
|
timeOfDayStart |
TimeOfDay |
O |
0..1 |
Identifies the start time of the day. |
|
timeOfDayEnd |
TimeOfDay |
O |
0..1 |
Identifies the end time of the day. |
C.1.4.4.2 Type: ProblemDetails
Table C.1.4.4.2-1: Definition of the ProblemDetails data type
Attribute name |
Data type |
Cardinality |
Description |
title |
string |
0..1 |
A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem. |
detail |
string |
0..1 |
A human-readable explanation specific to this occurrence of the problem. |
instance |
Uri |
0..1 |
A URI reference that identifies the specific occurrence of the problem. |
cause |
string |
0..1 |
A machine-readable application error cause specific to this occurrence of the problem This IE should be present and provide application-related error information, if available. |
NOTE 1: See IETF RFC 9290 [20] for detailed information and guidance for each attribute. NOTE 2: Additional attributes may be defined per API. |
C.1.4.4.3 Type: GeographicalCoordinates
Table C.1.4.4.3-1: Definition of type GeographicalCoordinates
Attribute name |
Data type |
P |
Cardinality |
Description |
lon |
number |
M |
1 |
Longitude expressed as a number with double precision in the range from and including value -180 to and including value 180. |
lat |
number |
M |
1 |
Latitude expressed as a number with double precision in the range from and including value -90 to and including value 90. |
C.1.4.4.4 Type: GeographicArea
Table C.1.4.4.4-1: Definition of type GeographicArea as a list of mutually exclusive alternatives
Data type |
Cardinality |
Discriminator property name |
Discriminator mapping |
Description |
Point |
1 |
shape |
POINT |
Geographical area consisting of a single point, represented by its longitude and latitude. |
PointUncertaintyCircle |
1 |
shape |
POINT_UNCERTAINTY_CIRCLE |
Geographical area consisting of a point and an uncertainty value. |
PointUncertaintyEllipse |
1 |
shape |
POINT_UNCERTAINTY_ELLIPSE |
Geographical area consisting of a point, plus an uncertainty ellipse and a confidence value. |
Polygon |
1 |
shape |
POLYGON |
Geographical area consisting of a list of points (between 3 to 15 points). |
PointAltitude |
1 |
shape |
POINT_ALTITUDE |
Geographical area consisting of a point and an altitude value. |
PointAltitudeUncertainty |
1 |
shape |
POINT_ALTITUDE_UNCERTAINTY |
Geographical area consisting of a point, an altitude value and an uncertainty value. |
EllipsoidArc |
1 |
shape |
ELLIPSOID_ARC |
Geographical are consisting of an ellipsoid arc. |
C.1.4.4.5 Type: Point
Table C.1.4.4.5-1: Definition of type Point
Attribute name |
Data type |
P |
Cardinality |
Description |
shape |
SupportedGADShapes |
M |
1 |
It shall take the value "POINT". |
point |
GeographicalCoordinates |
M |
1 |
Indicates a geographic point represented by its longitude and latitude. |
C.1.4.4.6 Type: PointUncertaintyCircle
Table C.1.4.4.6-1: Definition of type PointUncertaintyCircle
Attribute name |
Data type |
P |
Cardinality |
Description |
shape |
SupportedGADShapes |
M |
1 |
It shall take the value "POINT_UNCERTAINTY_CIRCLE". |
point |
GeographicalCoordinates |
M |
1 |
Indicates a geographic point represented by its longitude and latitude. |
uncertainty |
Uncertainty |
M |
1 |
Indicates the uncertainty value. |
C.1.4.4.7 Type: PointUncertaintyEllipse
Table C.1.4.4.7-1: Definition of type PointUncertaintyEllipse
Attribute name |
Data type |
P |
Cardinality |
Description |
shape |
SupportedGADShapes |
M |
1 |
It shall take the value "POINT_UNCERTAINTY_ELLIPSE". |
point |
GeographicalCoordinates |
M |
1 |
Indicates a geographic point represented by its longitude and latitude. |
uncertaintyEllipse |
UncertaintyEllipse |
M |
1 |
Indicates an uncertainty ellipse. |
confidence |
Confidence |
M |
1 |
Indicates the value of confidence. |
C.1.4.4.8 Type: Polygon
Table C.1.4.4.8-1: Definition of type Polygon
Attribute name |
Data type |
P |
Cardinality |
Description |
shape |
SupportedGADShapes |
M |
1 |
It shall take the value "POLYGON". |
pointList |
array(GeographicalCoordinates) |
M |
3..15 |
Array with up to15 items, where each item is a "point". |
C.1.4.4.9 Type: PointAltitude
Table C.1.4.4.9-1: Definition of type PointAltitude
Attribute name |
Data type |
P |
Cardinality |
Description |
shape |
SupportedGADShapes |
M |
1 |
It shall take the value "POINT_ALTITUDE". |
point |
GeographicalCoordinates |
M |
1 |
Indicates a geographic point represented by its longitude and latitude. |
altitude |
Altitude |
M |
1 |
Indicates the value of altitude. |
C.1.4.4.10 Type: PointAltitudeUncertainty
Table C.1.4.4.10-1: Definition of type PointAltitudeUncertainty
Attribute name |
Data type |
P |
Cardinality |
Description |
shape |
SupportedGADShapes |
M |
1 |
It shall take the value "POINT_ALTITUDE_UNCERTAINTY". |
point |
GeographicalCoordinates |
M |
1 |
Indicates a geographic point represented by its longitude and latitude. |
altitude |
Altitude |
M |
1 |
Indicates the value of altitude. |
uncertaintyEllipse |
UncertaintyEllipse |
M |
1 |
Indicates the uncertainty ellipse |
uncertaintyAltitude |
Uncertainty |
M |
1 |
Indicates the uncertainty of the altitude. |
confidence |
Confidence |
M |
1 |
Indicates the value of confidence. |
C.1.4.4.11 Type: EllipsoidArc
Table C.1.4.4.11-1: Definition of type EllipsoidArc
Attribute name |
Data type |
P |
Cardinality |
Description |
shape |
SupportedGADShapes |
M |
1 |
It shall take the value "ELLIPSOID_ARC". |
point |
GeographicalCoordinates |
M |
1 |
Indicates a geographic point represented by its longitude and latitude. |
innerRadius |
InnerRadius |
M |
1 |
Indicates the value of inner radius of the Ellipsoid Arc. |
uncertaintyRadius |
Uncertainty |
M |
1 |
Indicates the uncertainty radius of the Ellipsoid Arc. |
offsetAngle |
Angle |
M |
1 |
Indicates the offset angle of the Ellipsoid Arc. |
includedAngle |
Angle |
M |
1 |
Indicates the included angle of the Ellipsoid Arc. |
confidence |
Confidence |
M |
1 |
Indicates the value of confidence. |
C.1.4.4.12 Type: UncertaintyEllipse
Table C.1.4.4.12-1: Definition of type UncertaintyEllipse
Attribute name |
Data type |
P |
Cardinality |
Description |
semiMajor |
Uncertainty |
M |
1 |
Indicates the semi-major axis of the uncertainty ellipse. |
semiMinor |
Uncertainty |
M |
1 |
Indicates the semi-minor axis of the uncertainty ellipse. |
orientationMajor |
Orientation |
M |
1 |
Indicates the orientation angle of the major axis. |
C.1.4.5 Common enumerations
C.1.4.5.1 Enumeration: SupportedGADShapes
Table C.1.4.5.1-1: Enumeration SupportedGADShapes
Enumeration value |
Description |
POINT |
Ellipsoid Point |
POINT_UNCERTAINTY_CIRCLE |
Ellipsoid point with uncertainty circle |
POINT_UNCERTAINTY_ELLIPSE |
Ellipsoid point with uncertainty ellipse |
POLYGON |
Polygon |
POINT_ALTITUDE |
Ellipsoid point with altitude |
POINT_ALTITUDE_UNCERTAINTY |
Ellipsoid point with altitude and uncertainty ellipsoid |
ELLIPSOID_ARC |
Ellipsoid Arc |
LOCAL_2D_POINT_UNCERTAINTY_ELLIPSE |
Local 2D point with uncertainty ellipse |
LOCAL_3D_POINT_UNCERTAINTY_ELLIPSOID |
Local 3D point with uncertainty ellipsoid |