......@@ -3,11 +3,12 @@ module TrafficManagementAPI_TypesAndValues {
// JSON
import from Json all;
// LibCommon
import from LibCommon_BasicTypesAndValues all;
// LibMec
import from LibMec_TypesAndValues all;
/**
* @desc Information of bandwidth resource
* @member allocationId Bandwidth allocation instance identifier
* @member timeStamp Time stamp to indicate when the corresponding information elements are sent
* @member appInsId Application instance identifier
* @member sessionFilter Session filtering criteria, applicable when requestType is set as SESSION_SPECIFIC_BW_ALLOCATION. Any filtering criteria shall define a single session only
......@@ -15,10 +16,13 @@ module TrafficManagementAPI_TypesAndValues {
* @member fixedBWPriority Indicates the allocation priority when dealing with several applications or sessions in parallel. Values are not defined in the present document
* @member fixedAllocation Size of requested fixed BW allocation in [bps]
* @member allocationDirection The direction of the requested BW allocation
* @see ETSI GS MEC 015 V2.2.1 (2022-12) Clause 7.2.2 Type: BwInfo
*/
type record BwInfo {
AllocationId allocationId optional,
TimeStamp timeStamp optional,
AppInsId appInsId,
AppInsId appInsId optional,
Json.String appName,
BwRequestType requestType,
SessionFilter sessionFilter optional,
FixedBWPriority fixedBWPriority optional,
......@@ -29,14 +33,17 @@ module TrafficManagementAPI_TypesAndValues {
/**
* @desc Conform to JSON merge patch format and processing rules specified IETF RFC 7396 [8], this type represents the attributes whose value are allowed to be updated with HTTP PATCH method in content format JSON
* @member allocationId Bandwidth allocation instance identifier
* @member appInsId Application instance identifier
* @member requestType Numeric value (0 - 255) corresponding to specific type of consumer
* @member sessionFilter Session filtering criteria, applicable when requestType is set as SESSION_SPECIFIC_BW_ALLOCATION
* @member fixedBWPriority Indicates the allocation priority when dealing with several applications or sessions in parallel
* @member fixedAllocation Size of requested fixed BW allocation in [bps]
* @member allocationDirection The direction of the requested BW allocation
* @see ETSI GS MEC 015 V2.2.1 (2022-12) Clause 7.2.3 Type: BwInfoDeltas
*/
type record BwInfoDeltas {
Json.String allocationId,
AppInsId appInsId,
BwRequestType requestType,
SessionFilter sessionFilter optional,
......@@ -46,22 +53,20 @@ module TrafficManagementAPI_TypesAndValues {
}
/**
* @desc Time stamp description
* @member seconds The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC
* @member nanoSeconds The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC
* @desc Bandwidth allocation instance identifier
* @see ETSI GS MEC 015 V2.2.1 (2022-12) Clause 7.2.2 Type: BwInfo
*/
type record TimeStamp {
Seconds seconds,
NanoSeconds nanoSeconds
}
type Json.String AllocationId;
/**
* @desc Application instance identifier
* @see ETSI GS MEC 015 V2.2.1 (2022-12) Clause 7.2.2 Type: BwInfo
*/
type Json.String AppInsId;
/**
* @desc Numeric value (0 - 255) corresponding to specific type of consumer
* @see ETSI GS MEC 015 V2.2.1 (2022-12) Clause 7.2.2 Type: BwInfo
*/
type enumerated BwRequestType {
APPLICATION_SPECIFIC_BW_ALLOCATION (0),
......@@ -70,17 +75,22 @@ module TrafficManagementAPI_TypesAndValues {
variant "JSON: as number"
}
/**
* @desc Numeric value (0 - 255) corresponding to specific type of consumer
* @see ETSI GS MEC 015 V2.2.1 (2022-12) 7.2.5 Type: MtsSessionInfo
*/
type enumerated MtsRequestType {
APPLICATION_SPECIFIC_MTS_ALLOCATION (0),
SESSION_SPECIFIC_MTS_ALLOCATION (1)
APPLICATION_SPECIFIC_MTS_SESSION (0),
FLOW_SPECIFIC_MTS_SESSION (1)
} with {
variant "JSON: as number"
}
/**
* @desc Session filtering criteria, applicable when requestType is set as SESSION_SPECIFIC_BW_ALLOCATION. Any filtering criteria shall define a single session only. In case multiple sessions match sessionFilter the request shall be rejected
* @see ETSI GS MEC 015 V2.2.1 (2022-12) Clause 7.2.2 Type: BwInfo
*/
type record of SessionFilterItems SessionFilter;
type record of SessionFilterItem SessionFilter;
/**
* @desc Session filtering criteria, applicable when requestType is set as SESSION_SPECIFIC_BW_ALLOCATION. Any filtering criteria shall define a single session only. In case multiple sessions match sessionFilter the request shall be rejected
* @member sourceIp Source address identity of session (including range)
......@@ -88,8 +98,9 @@ module TrafficManagementAPI_TypesAndValues {
* @member dstAddress Destination address identity of session (including range)
* @member dstPort Destination port identity of session
* @member protocol Protocol number
* @see ETSI GS MEC 015 V2.2.1 (2022-12) Clause 7.2.2 Type: BwInfo
*/
type record SessionFilterItems {
type record SessionFilterItem {
SourceIp sourceIp optional,
SourcePort sourcePort optional,
DstAddress dstAddress optional,
......@@ -98,7 +109,8 @@ module TrafficManagementAPI_TypesAndValues {
}
/**
* @desc Indicates the allocation priority when dealing with several applications or sessions in parallel. Values are not defined in the present document
* @desc Indicates the allocation priority when dealing with several applications or sessions in parallel.
* @see ETSI GS MEC 015 V2.2.1 (2022-12) Clause 7.2.2 Type: BwInfo
*/
type enumerated FixedBWPriority {
reserved
......@@ -106,22 +118,26 @@ module TrafficManagementAPI_TypesAndValues {
/**
* @desc Size of requested fixed BW allocation in [bps]
* @see ETSI GS MEC 015 V2.2.1 (2022-12) Clause 7.2.2 Type: BwInfo
*/
type Json.String FixedAllocation;
/**
* @desc The seconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC
* @see ETSI GS MEC 015 V2.2.1 (2022-12) Clause 7.2.2 Type: BwInfo
*/
type UInt32 Seconds;
type Json.UInteger Seconds;
/**
* @desc The nanoseconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC
* @see ETSI GS MEC 015 V2.2.1 (2022-12) Clause 7.2.2 Type: BwInfo
*/
type UInt32 NanoSeconds;
type Json.UInteger NanoSeconds;
/**
* @desc The direction of the requested BW allocation
* @see ETSI GS MEC 015 V2.2.1 (2022-12) Clause 7.2.2 Type: BwInfo
*/
type enumerated AllocationDirection {
Downlink,
......@@ -131,26 +147,31 @@ module TrafficManagementAPI_TypesAndValues {
/**
* @desc Source address identity of session (including range)
* @see ETSI GS MEC 015 V2.2.1 (2022-12) Clause 7.2.2 Type: BwInfo
*/
type Json.String SourceIp;
/**
* @desc Source port identity of session
* @see ETSI GS MEC 015 V2.2.1 (2022-12) Clause 7.2.2 Type: BwInfo
*/
type record of Json.String SourcePort;
type Json.UInteger SourcePort;
/**
* @desc Destination address identity of session (including range)
* @see ETSI GS MEC 015 V2.2.1 (2022-12) Clause 7.2.2 Type: BwInfo
*/
type Json.String DstAddress;
/**
* @desc Destination port identity of session
* @see ETSI GS MEC 015 V2.2.1 (2022-12) Clause 7.2.2 Type: BwInfo
*/
type record of Json.String DstPort;
type Json.UInteger DstPort;
/**
* @desc Protocol number
* @see ETSI GS MEC 015 V2.2.1 (2022-12) Clause 7.2.2 Type: BwInfo
*/
type Json.String Protocol;
......@@ -159,6 +180,7 @@ module TrafficManagementAPI_TypesAndValues {
* @member timeStamp Time stamp to indicate when the corresponding information elements are sent
* @member mtsAccessInfo The information on access network connection as defined below
* @member mtsMode Numeric value corresponding to a specific MTS operation supported by the TMS
* @see ETSI GS MEC 015 V2.2.1 (2022-12) Clause 7.2.4 Type: MtsCapabilityInfo
*/
type record MtsCapabilityInfo {
TimeStamp timeStamp optional,
......@@ -166,6 +188,10 @@ module TrafficManagementAPI_TypesAndValues {
MtsModes mtsMode
}
/**
* @desc The information on access network connection as defined below
* @see ETSI GS MEC 015 V2.2.1 (2022-12) Clause 7.2.4 Type: MtsCapabilityInfo
*/
type enumerated MtsMode {
LowCost (0),
LowLatency (1),
......@@ -182,6 +208,7 @@ module TrafficManagementAPI_TypesAndValues {
* @member accessId Unique identifier for the access network connection
* @member accessType Numeric value (0-255) corresponding to specific type of access network
* @member metered Numeric value (0-255)
* @see ETSI GS MEC 015 V2.2.1 (2022-12) Clause 7.2.4 Type: MtsCapabilityInfo
*/
type record MtsAccessInfo {
AccessId accessId,
......@@ -190,7 +217,16 @@ module TrafficManagementAPI_TypesAndValues {
}
type record of MtsAccessInfo MtsAccessInfos;
type UInt32 AccessId;
/**
* @desc Unique identifier for the access network connection
* @see ETSI GS MEC 015 V2.2.1 (2022-12) Clause 7.2.4 Type: MtsCapabilityInfo
*/
type Json.UInteger AccessId;
/**
* @desc Numeric value (0-255) corresponding to specific type of access network
* @see ETSI GS MEC 015 V2.2.1 (2022-12) Clause 7.2.4 Type: MtsCapabilityInfo
*/
type enumerated AccessType {
Unknown (0),
IEEE802_11_Based (1),
......@@ -207,6 +243,11 @@ module TrafficManagementAPI_TypesAndValues {
} with {
variant "JSON: as number"
}
/**
* @desc Numeric value (0-255)
* @see ETSI GS MEC 015 V2.2.1 (2022-12) Clause 7.2.4 Type: MtsCapabilityInfo
*/
type enumerated Metered {
CxNotMetered (0),
CxMetered (1),
......@@ -217,42 +258,90 @@ module TrafficManagementAPI_TypesAndValues {
/**
* @desc The information on access network connection as defined below
* @member sessionId MTS session instance identifier
* @member timeStamp Time stamp to indicate when the corresponding information elements are sent
* @member appInsId Application instance identifier
* @member appName Name of the application
* @member requestType Numeric value (0 - 255) corresponding to specific type of consumer
* @member flowFilter Traffic flow filtering criteria, applicable only
* @member qosD QoS requirement description of the MTS session
* @member mtsMode Numeric value corresponding to a specific MTS operation
* @member trafficDirection The direction of the requested MTS session supported by the TMS
* @see ETSI GS MEC 015 V2.2.1 (2022-12) 7.2.5 Type: MtsSessionInfo
*/
type record MtsSessionInfo {
SessionId sessionId optional,
TimeStamp timeStamp optional,
AppInsId appInsId,
Json.String appName optional,
MtsRequestType requestType,
FlowFilter flowFilter optional,
FlowFilter flowFilter,
QosD qosD,
MtsMode mtsMode,
TrafficDirection trafficDirection
}
type record of MtsSessionInfo MtsSessionInfos
type SessionFilter FlowFilter;
/**
* @desc MTS session instance identifier
* @see ETSI GS MEC 015 V2.2.1 (2022-12) 7.2.5 Type: MtsSessionInfo
*/
type Json.String SessionId;
/**
* @desc Traffic flow filtering criteria, applicable only if when requestType is set as FLOW_SPECIFIC_MTS_SESSION
* @member sourceIp Source address identity of session (including range)
* @member sourcePort Source port identity of session
* @member dstAddress Destination address identity of session (including range)
* @member dstPort Destination port identity of session
* @member protocol Protocol number
* @member dscp DSCP in the IPv4 header or Traffic Class in the IPv6 header
* @member flowlabel Flow Label in the IPv6 header, applicable only if the flow is IPv6
* @see ETSI GS MEC 015 V2.2.1 (2022-12) 7.2.5 Type: MtsSessionInfo
*/
type record FlowFilterItem {
SourceIp sourceIp optional,
SourcePort sourcePort optional,
DstAddress dstIp optional,
DstPort dstPort optional,
Protocol protocol optional,
Dscp dscp optional,
Flowlabel flowlabel optional
}
type record of FlowFilterItem FlowFilter;
/**
* @desc The direction of the requested MTS session supported by the TMS
* @see ETSI GS MEC 015 V2.2.1 (2022-12) 7.2.5 Type: MtsSessionInfo
*/
type AllocationDirection TrafficDirection;
/**
* @desc
* @desc DSCP in the IPv4 header or Traffic Class in the IPv6 header
* @see ETSI GS MEC 015 V2.2.1 (2022-12) Clause 7.2.5 Type: MtsSessionInfo
*/
type Json.UInteger Dscp;
/**
* @desc Flow Label in the IPv6 header, applicable only if the flow is IPv6
* @see ETSI GS MEC 015 V2.2.1 (2022-12) Clause 7.2.5 Type: MtsSessionInfo
*/
type Json.UInteger Flowlabel;
/**
* @desc QoS requirement description of the MTS session, applicable only if mtsMode = 4 (QoS)
* @member minTpt Minimal throughput in [kbps]
* @member maxLatency Tolerable (one-way) delay in [10 nanoseconds]
* @member maxLoss Tolerable packet loss rate in [1/10^x]
* @member maxJitter Tolerable jitter in [10 nanoseconds]
* @member priority numeric value (0 - 255) corresponding to the traffic priority
* @see ETSI GS MEC 015 V2.2.1 (2022-12) Clause 7.2.5 Type: MtsSessionInfo
*/
type record QosD {
UInt32 minTpt optional,
UInt32 maxLatency optional,
UInt32 maxLoss optional,
UInt32 maxJitter optional,
Json.UInteger minTpt optional,
Json.UInteger maxLatency optional,
Json.UInteger maxLoss optional,
Json.UInteger maxJitter optional,
Priority priority optional
}
......
{
"openapi": "3.0.2",
"info": {
"title": "UE Application Interface API",
"version": "1.1.1",
"description": "The ETSI MEC ISG MEC016 UE Application Interface API described using OpenAPI",
"license": {
"name": "ETSI Forge copyright notice",
"url": "https://forge.etsi.org/etsi-forge-copyright-notice.txt"
},
"contact": {
"email": "cti_support@etsi.org"
}
},
"externalDocs": {
"description": "ETSI GS MEC016 UE Application Interface API, V1.1.1",
"url": "http://www.etsi.org/deliver/etsi_gs/MEC/001_099/016/01.01.01_60/gs_MEC016v010101p.pdf"
},
"security": [
{
"OauthSecurity": [
"all"
]
}
],
"servers": [
{
"url": "http://127.0.0.1:8081/mx2/v1"
},
{
"url": "https://127.0.0.1:8081/mx2/v1"
}
],
"tags": [
{
"name": "appList"
},
{
"name": "appContext"
}
],
"paths": {
"/app_list": {
"get": {
"description": "Used to query information about the available MEC applications.",
"operationId": "AppList_GET",
"tags": [
"appList"
],
"parameters": [
{
"$ref": "#/components/parameters/Query.AppName"
},
{
"$ref": "#/components/parameters/Query.AppProvider"
},
{
"$ref": "#/components/parameters/Query.AppSoftVersion"
},
{
"$ref": "#/components/parameters/Query.ServiceCont"
},
{
"$ref": "#/components/parameters/Query.VendorId"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/AppList"
},
"400": {
"$ref": "#/components/responses/Error.400"
},
"401": {
"$ref": "#/components/responses/Error.401"
},
"403": {
"$ref": "#/components/responses/Error.403"
},
"404": {
"$ref": "#/components/responses/Error.404"
}
}
}
},
"/app_contexts": {
"post": {
"description": "The POST method can be used to create a new application context. Upon success, the response contains entity body describing the created application context.",
"operationId": "AppContext_POST",
"tags": [
"appContext"
],
"requestBody": {
"$ref": "#/components/requestBodies/AppContext"
},
"responses": {
"201": {
"$ref": "#/components/responses/AppContext"
},
"400": {
"$ref": "#/components/responses/Error.400"
},
"401": {
"$ref": "#/components/responses/Error.401"
},
"403": {
"$ref": "#/components/responses/Error.403"
},
"404": {
"$ref": "#/components/responses/Error.404"
}
}
}
},
"/app_contexts/{contextId}": {
"parameters": [
{
"$ref": "#/components/parameters/Path.ContextId"
}
],
"put": {
"description": "The PUT method is used to update the callback reference of the existing application context. Upon successful operation, the target resource is updated with new callback reference.",
"operationId": "AppContextId_PUT",
"tags": [
"appContext"
],
"requestBody": {
"$ref": "#/components/requestBodies/AppContext"
},
"responses": {
"204": {
"description": "No Content."
},
"400": {
"$ref": "#/components/responses/Error.400"
},
"401": {
"$ref": "#/components/responses/Error.401"
},
"403": {
"$ref": "#/components/responses/Error.403"
},
"404": {
"$ref": "#/components/responses/Error.404"
}
}
},
"delete": {
"description": "The DELETE method is used to delete the resource that represents the existing application context.",
"operationId": "AppContextId_DEL",
"tags": [
"appContext"
],
"responses": {
"204": {
"description": "No Content"
},
"400": {
"$ref": "#/components/responses/Error.400"
},
"401": {
"$ref": "#/components/responses/Error.401"
},
"403": {
"$ref": "#/components/responses/Error.403"
},
"404": {
"$ref": "#/components/responses/Error.404"
}
}
}
}
},
"components": {
"parameters": {
"Query.AppName": {
"name": "appName",
"in": "query",
"description": "Name to identify the MEC application",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
"Query.AppProvider": {
"name": "appProvider",
"in": "query",
"description": "Provider of the MEC application",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
"Query.AppSoftVersion": {
"name": "appSoftVersion",
"in": "query",
"description": "Software version of the MEC application",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
"Query.ServiceCont": {
"name": "serviceCont",
"in": "query",
"description": "Required service continuity mode for this application",
"required": false,
"schema": {
"type": "string",
"enum": [
"SERVICE_CONTINUITY_NOT_REQUIRED",
"SERVICE_CONTINUITY_REQUIRED"
]
}
},
"Query.VendorId": {
"name": "vendorId",
"in": "query",
"description": "Vendor identifier",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
"Path.ContextId": {
"name": "contextId",
"in": "path",
"description": "Uniquely identifies the application context in the MEC system. It is assigned by the MEC system and included in the response to an AppContext create.",
"required": true,
"schema": {
"type": "string"
}
}
},
"requestBodies": {
"AppContext": {
"description": "Uniquely identifies the application context in the MEC system. It is assigned by the MEC system and included in the response to an AppContext create.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppContext"
}
}
},
"required": true
}
},
"responses": {
"AppContext": {
"description": "The response body contains the Application Context as it was created by the MEC system",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppContext"
}
}
}
},
"AppList": {
"description": "The response body contains the ApplicationList resource available for the querying UE application",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApplicationList"
}
}
}
},
"Error.400": {
"description": "Bad Request. It is used to indicate that incorrect parameters were passed to the request.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Empty"
}
}
}
},
"Error.401": {
"description": "Unauthorized. It is used when the client did not submit the appropriate credentials.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Empty"
}
}
}
},
"Error.403": {
"description": "Forbidden. The operation is not allowed given the current status of the resource. ",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"Error.404": {
"description": "Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Empty"
}
}
}
}
},
"securitySchemes": {
"OauthSecurity": {
"type": "oauth2",
"flows": {
"clientCredentials": {
"tokenUrl": "https://oauth.exampleAPI/token",
"scopes": {
"all": "Single oauth2 scope for API"
}
}
}
}
},
"schemas": {
"Empty": {
"description": "Empty schema"
},
"ProblemDetails": {
"type": "object",
"properties": {
"type": {
"$ref": "#/components/schemas/Problem.type"
},
"title": {
"$ref": "#/components/schemas/Problem.title"
},
"status": {
"$ref": "#/components/schemas/Problem.status"
},
"detail": {
"$ref": "#/components/schemas/Problem.detail"
},
"instance": {
"$ref": "#/components/schemas/Problem.instance"
}
}
},
"Problem.type": {
"type": "string",
"format": "uri",
"description": "A URI reference according to IETF RFC 3986 that identifies the problem type"
},
"Problem.title": {
"type": "string",
"description": "A short, human-readable summary of the problem type"
},
"Problem.status": {
"type": "integer",
"format": "uint32",
"description": "The HTTP status code for this occurrence of the problem"
},
"Problem.detail": {
"type": "string",
"description": "A human-readable explanation specific to this occurrence of the problem"
},
"Problem.instance": {
"type": "string",
"format": "uri",
"description": "A URI reference that identifies the specific occurrence of the problem"
},
"ApplicationList": {
"description": "Information on available applications",
"type": "object",
"properties": {
"appInfo": {
"$ref": "#/components/schemas/AppInfo"
},
"vendorSpecificExt": {
"$ref": "#/components/schemas/VendorSpecificExt"
}
}
},
"AppContext": {
"description": "Information on application context created by the MEC system",
"type": "object",
"required": [
"contextId",
"associateUeAppId",
"appInfo"
],
"properties": {
"contextId": {
"$ref": "#/components/schemas/ContextId"
},
"associateUeAppId": {
"$ref": "#/components/schemas/AssociateUeAppId"
},
"callbackReference": {
"$ref": "#/components/schemas/CallbackReference"
},
"appInfo": {
"$ref": "#/components/schemas/RequiredAppInfo"
}
}
},
"NotificationEvent": {
"description": "The parameters used in the method \"Receiving notification events\".",
"type": "object",
"required": [
"referenceURI"
],
"properties": {
"referenceURI": {
"$ref": "#/components/schemas/ReferenceURL"
}
}
},
"VendorSpecificExtList": {
"description": "Extension for vendor specific information.",
"type": "array",
"minItems": 0,
"items": {
"$ref": "#/components/schemas/VendorSpecificExt"
}
},
"VendorSpecificExt": {
"description": "Extension for vendor-specific information",
"required": [
"vendorId"
],
"properties": {
"vendorId": {
"$ref": "#/components/schemas/VendorId"
}
}
},
"ContextId": {
"description": "Uniquely identifies the application context in the MEC system. Assigned by the MEC system and included in the response. The length of the value shall not exceed 32 characters.",
"type": "string"
},
"AssociateUeAppId": {
"description": "Uniquely identifies the UE application. Included in the request. The length of the value shall not exceed 32 characters.",
"type": "string"
},
"VendorId": {
"description": "Vendor identifier. The length of the value shall not exceed 32 characters. The rest of the structure of this vendor specific extension is not defined",
"type": "string"
},
"AppInfo": {
"description": "User applications available for the UE application",
"type": "array",
"items": {
"$ref": "#/components/schemas/AppInfoList"
}
},
"AppInfoList": {
"type": "object",
"required": [
"appName",
"appProvider",
"appDescription"
],
"properties": {
"appName": {
"$ref": "#/components/schemas/AppName"
},
"appProvider": {
"$ref": "#/components/schemas/AppProvider"
},
"appSoftVersion": {
"$ref": "#/components/schemas/AppSoftVersion"
},
"appDescription": {
"$ref": "#/components/schemas/AppDescription"
},
"appCharcs": {
"$ref": "#/components/schemas/AppCharcs"
}
}
},
"RequiredAppInfo": {
"description": "Included in the request",
"type": "object",
"required": [
"appName",
"appProvider",
"referenceURL"
],
"properties": {
"appName": {
"$ref": "#/components/schemas/AppName"
},
"appProvider": {
"$ref": "#/components/schemas/AppProvider"
},
"appSoftVersion": {
"$ref": "#/components/schemas/AppSoftVersion"
},
"appDescription": {
"$ref": "#/components/schemas/AppDescription"
},
"referenceURL": {
"$ref": "#/components/schemas/ReferenceURL"
},
"appPackageSource": {
"$ref": "#/components/schemas/AppPackageSource"
}
}
},
"AppCharcs": {
"description": "The application characteristics relate to the system resources consumed by the application. UE application can use this information e.g., for estimating the cost of use of the application or for the expected user experience",
"type": "object",
"properties": {
"memory": {
"$ref": "#/components/schemas/Memory"
},
"storage": {
"$ref": "#/components/schemas/Storage"
},
"latency": {
"$ref": "#/components/schemas/Latency"
},
"bandwidth": {
"$ref": "#/components/schemas/Bandwidth"
},
"serviceCont": {
"$ref": "#/components/schemas/ServiceCont"
}
}
},
"Memory": {
"description": "The maximum size in Mbytes of the memory resource reserved for the MEC application instance in the MEC system",
"type": "integer",
"format": "uint32"
},
"Storage": {
"description": "The maximum size in Mbytes of the storage resource expected to be used by the MEC application instance in the MEC system",
"type": "integer",
"format": "uint32"
},
"Latency": {
"description": "The target round trip time in milliseconds supported by the MEC system for the MEC application instance",
"type": "integer",
"format": "uint32"
},
"Bandwidth": {
"description": "The required connection bandwidth in kbit/s for the use of the mobile edge application instance",
"type": "integer",
"format": "uint32"
},
"ServiceCont": {
"description": "Required service continuity mode for this application.",
"type": "string",
"enum": [
"SERVICE_CONTINUITY_NOT_REQUIRED",
"SERVICE_CONTINUITY_REQUIRED"
]
},
"AppName": {
"description": "Name of the MEC application. The length of the value shall not exceed 32 characters.",
"type": "string"
},
"AppProvider": {
"description": "Provider of the MEC application. The length of the value shall not exceed 32 characters.",
"type": "string"
},
"AppSoftVersion": {
"description": "Software version of the MEC application. The length of the value shall not exceed 32 characters.",
"type": "string"
},
"AppDescription": {
"description": "Human readable description of the MEC application. NOTE the language support may be limited. The length of the value shall not exceed 128 characters.",
"type": "string"
},
"CallbackReference": {
"description": "URI assigned by the UE application to receive application lifecycle related notifications. Included in the request. This subscription stays alive for the lifetime of the application context.",
"type": "string",
"format": "uri"
},
"ReferenceURL": {
"description": "Address of the user application. Used as the reference URL for the application. Assigned by the MEC system and included in the response",
"type": "string",
"format": "uri"
},
"AppPackageSource": {
"description": "URI of the application package. Included in the request if the application is not one in the ApplicationList. appPackageSource enables on-boarding of the application package into the MEC system. The application package shall comply with the definitions in clause 6.2.1.2 of ETSI GS MEC 010-2",
"type": "string",
"format": "uri"
}
}
}
}
\ No newline at end of file
{
"openapi": "3.0.2",
"info": {
"title": "UE Identity API",
"version": "1.1.1",
"description": "The ETSI MEC ISG MEC014 UE Identity API described using OpenAPI",
"license": {
"name": "ETSI Forge copyright notice",
"url": "https://forge.etsi.org/etsi-forge-copyright-notice.txt"
},
"contact": {
"email": "cti_support@etsi.org"
}
},
"externalDocs": {
"description": "ETSI GS MEC014 UE Identity API, V1.1.1",
"url": "http://www.etsi.org/deliver/etsi_gs/MEC/001_099/014/01.01.01_60/gs_mec014v010101p.pdf"
},
"security": [
{
"OauthSecurity": [
"all"
]
}
],
"servers": [
{
"url": "http://127.0.0.1:8081/ui/v1"
},
{
"url": "https://127.0.0.1:8081/ui/v1"
}
],
"tags": [
{
"name": "ueIdentityTagInfo"
}
],
"paths": {
"/{appInstanceId}/ue_identity_tag_info": {
"parameters": [
{
"$ref": "#/components/parameters/Path.AppInstanceId"
}
],
"get": {
"description": "Retrieves information about a specific UeIdentityTagInfo resource",
"operationId": "UeIdentityTagInfo_GET",
"tags": [
"ueIdentityTagInfo"
],
"parameters": [
{
"$ref": "#/components/parameters/Query.UeIdentityTag"
}
],
"responses": {
"200": {
"description": "It is used to indicate nonspecific success. The response body contains a representation of the UeIdentityTagInfo resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UeIdentityTagInfo"
}
}
}
},
"400": {
"$ref": "#/components/responses/Error.400"
},
"403": {
"$ref": "#/components/responses/Error.403"
},
"404": {
"$ref": "#/components/responses/Error.404"
}
}
},
"put": {
"description": "Register/De-register the information about specific a UeIdentityTagInfo resource",
"operationId": "UeIdentityTagInfo_PUT",
"tags": [
"ueIdentityTagInfo"
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UeIdentityTagInfo"
}
}
},
"description": "'The updated \"state\" for each included UE Identity tag is included in the entity body of the request'",
"required": true
},
"responses": {
"200": {
"description": "It is used to indicate success. The response body contains a representation of the UeIdentityTagInfo resource",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UeIdentityTagInfo"
}
}
}
},
"400": {
"$ref": "#/components/responses/Error.400"
},
"403": {
"$ref": "#/components/responses/Error.403"
},
"404": {
"$ref": "#/components/responses/Error.404"
},
"412": {
"$ref": "#/components/responses/Error.412"
}
}
}
}
},
"components": {
"parameters": {
"Path.AppInstanceId": {
"name": "appInstanceId",
"in": "path",
"description": "Represents a mobile edge application instance",
"required": true,
"schema": {
"type": "string"
}
},
"Query.UeIdentityTag": {
"name": "ueIdentityTag",
"in": "query",
"description": "Represents a UE",
"required": true,
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"responses": {
"Error.400": {
"description": "Bad Request. Incorrect parameters were passed in the request.In the returned ProblemDetails structure, the \"detail\" attribute should convey more information about the error.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Empty"
}
}
}
},
"Error.403": {
"description": "Forbidden. The operation is not allowed given the current status of the resource. More information should be provided in the \"detail\" attribute of the \"ProblemDetails\" structure.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"Error.404": {
"description": "Not Found. The client provided a URI that cannot be mapped to a valid resource URL. In the returned ProblemDetails structure, the \"detail\" attribute should convey more information about the error.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Empty"
}
}
}
},
"Error.412": {
"description": "Precondition Failed. It is used when a condition has failed during conditional requests, e.g. when using ETags to avoid write conflicts.In the returned ProblemDetails structure, the \"detail\" attribute should convey more information about the error.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Empty"
}
}
}
}
},
"securitySchemes": {
"OauthSecurity": {
"type": "oauth2",
"flows": {
"clientCredentials": {
"tokenUrl": "https://oauth.exampleAPI/token",
"scopes": {
"all": "Single oauth2 scope for API"
}
}
}
}
},
"schemas": {
"Empty": {
"description": "Empty schema"
},
"ProblemDetails": {
"type": "object",
"properties": {
"type": {
"$ref": "#/components/schemas/Problem.type"
},
"title": {
"$ref": "#/components/schemas/Problem.title"
},
"status": {
"$ref": "#/components/schemas/Problem.status"
},
"detail": {
"$ref": "#/components/schemas/Problem.detail"
},
"instance": {
"$ref": "#/components/schemas/Problem.instance"
}
}
},
"Problem.type": {
"type": "string",
"format": "uri",
"description": "A URI reference according to IETF RFC 3986 that identifies the problem type"
},
"Problem.title": {
"type": "string",
"description": "A short, human-readable summary of the problem type"
},
"Problem.status": {
"type": "integer",
"format": "uint32",
"description": "The HTTP status code for this occurrence of the problem"
},
"Problem.detail": {
"type": "string",
"description": "A human-readable explanation specific to this occurrence of the problem"
},
"Problem.instance": {
"type": "string",
"format": "uri",
"description": "A URI reference that identifies the specific occurrence of the problem"
},
"UeIdentityTagInfo": {
"description": "information of UE identity tag used in UE Identity feature",
"type": "object",
"required": [
"ueIdentityTags"
],
"properties": {
"ueIdentityTags": {
"$ref": "#/components/schemas/UeIdentityTags"
}
}
},
"UeIdentityTags": {
"description": "1 to N tags presented by a ME Application instance to a ME Platform",
"type": "array",
"items": {
"required": [
"ueIdentityTag",
"state"
],
"properties": {
"ueIdentityTag": {
"$ref": "#/components/schemas/UeIdentityTag"
},
"state": {
"$ref": "#/components/schemas/State"
}
}
}
},
"UeIdentityTag": {
"description": "Specific tag presented by a ME Application instance to a ME Platform",
"type": "string",
"example": "UeTagA"
},
"State": {
"description": "Status of the resource ueIdentityTagInfo",
"type": "string",
"enum": [
"UNREGISTERED",
"REGISTERED"
],
"example": "REGISTERED"
}
}
}
}
\ No newline at end of file
/**
* @author ETSI / STF569
* @author ETSI / STF569 / TTF T027
* @version $URL$
* $Id$
* @desc Module containing types and values for UeIdentiyAPI protocol
* @desc Module containing types and values for ETSI GS MEC 014 V3.1.1 (2023-06)
* @copyright ETSI Copyright Notification
* No part may be reproduced except as authorized by written permission.
* The copyright and the foregoing restriction extend to reproduction in all media.
......@@ -13,13 +13,10 @@ module UEidentityAPI_TypesAndValues {
// JSON
import from Json all;
// LibCommon
import from LibCommon_BasicTypesAndValues all;
/**
* @desc Information of UE identity tag used in UE Identity feature
* @member ueIdentityTags 1 to N tags presented by a ME Application instance to a ME Platform
* @see ETSI GS MEC 014 Clause 7.2 Global definitions and resource structure
* @see ETSI GS MEC 014 V3.1.1 (2023-06) Table 6.2.2-1: Definition of type UeIdentityTagInfo
*/
type record UeIdentityTagInfo {
UeIdentityTags ueIdentityTags
......@@ -27,13 +24,13 @@ module UEidentityAPI_TypesAndValues {
/**
* @desc Specific tag presented by a ME Application instance to a ME Platform
* @see ETSI GS MEC 014 Clause 6.2.2 Type: UeIdentityTagInfo
* @see ETSI GS MEC 014 V3.1.1 (2023-06) Table 6.2.2-1: Definition of type UeIdentityTagInfo
*/
type Json.String UeIdentityTag;
/**
* @desc Status of the resource ueIdentityTagInfo
* @see ETSI GS MEC 014 Clause 6.2.2 Type: UeIdentityTagInfo
* @see ETSI GS MEC 014 V3.1.1 (2023-06) Table 6.2.2-1: Definition of type UeIdentityTagInfo
*/
type enumerated State {
UNREGISTERED,
......@@ -45,7 +42,7 @@ module UEidentityAPI_TypesAndValues {
* @desc ME Application instance to a ME Platform
* @member ueIdentityTag Specific tag presented by a ME Application instance to a ME Platform
* @member state Status of the resource ueIdentityTagInfo
* @see ETSI GS MEC 014 Clause 6.2.2 Type: UeIdentityTagInfo
* @see ETSI GS MEC 014 V3.1.1 (2023-06) Table 6.2.2-1: Definition of type UeIdentityTagInfo
*/
type record UeIdentityTagItem {
Json.String ueIdentityTag,
......@@ -54,7 +51,7 @@ module UEidentityAPI_TypesAndValues {
/**
* @desc 1 to N tags presented by a ME Application instance to a ME Platform
* @see ETSI GS MEC 014 Clause 6.2.2 Type: UeIdentityTagInfo
* @see ETSI GS MEC 014 V3.1.1 (2023-06) Table 6.2.2-1: Definition of type UeIdentityTagInfo
*/
type record of UeIdentityTagItem UeIdentityTags;
......
info:
title: "ETSI GS MEC 030 V2X Information Service API"
version: 2.1.1
description: "ETSI GS MEC 030 V2X Information Service API described using OpenAPI."
contact:
name: ETSI Forge
email: cti_support@etsi.org
url: https://forge.etsi.org/rep/mec/gs030-vis-api
license:
name: BSD-3-Clause
url: 'https://forge.etsi.org/legal-matters'
externalDocs:
description: "ETSI GS MEC 030 V2X Information Service API, v2.1.1"
url: 'https://www.etsi.org/deliver/etsi_gs/MEC/001_099/030/02.01.01_60/gs_mec030v020101p.pdf'
openapi: 3.0.0
servers:
- url: 'https://localhost/vis/v1'
tags:
- name: queries
description: Queries
- name: subscription
description: Subscription
paths:
/queries/uu_unicast_provisioning_info:
get:
tags:
- 'queries'
summary: 'Used to query provisioning information for V2X communication over Uu unicast.'
description: 'Used to query provisioning information for V2X communication over Uu unicast.'
operationId: prov_info_uu_unicastGET
parameters:
- in: query
name: location_info
schema:
type: string
required: true
description: 'Comma separated list of locations to identify a cell of a base station or a particular geographical area'
responses:
'200':
description: 'A response body containing the Uu unicast provisioning information. '
content:
application/json:
schema:
$ref: '#/components/schemas/UuUnicastProvisioningInfo'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'406':
$ref: '#/components/responses/406'
'429':
$ref: '#/components/responses/429'
/queries/uu_mbms_provisioning_info:
get:
tags:
- 'queries'
summary: 'retrieve information required for V2X communication over Uu MBMS.'
description: 'retrieve information required for V2X communication over Uu MBMS.'
operationId: prov_info_uu_mbmsGET
parameters:
- in: query
name: location_info
schema:
type: string
required: true
description: 'omma separated list of locations to identify a cell of a base station or a particular geographical area'
responses:
'200':
description: 'A response body containing the Uu unicast provisioning information. '
content:
application/json:
schema:
$ref: '#/components/schemas/UuMbmsProvisioningInfo'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'406':
$ref: '#/components/responses/406'
'429':
$ref: '#/components/responses/429'
/queries/pc5_provisioning_info:
get:
tags:
- 'queries'
summary: 'Query provisioning information for V2X communication over PC5.'
description: 'Query provisioning information for V2X communication over PC5.'
operationId: prov_infoGET
parameters:
- in: query
name: location_info
schema:
type: string
required: true
description: 'Comma separated list of locations to identify a cell of a base station or a particular geographical area'
responses:
'200':
description: 'A response body containing the PC5 provisioning information is returned.'
content:
application/json:
schema:
$ref: '#/components/schemas/Pc5ProvisioningInfo'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'406':
$ref: '#/components/responses/406'
'429':
$ref: '#/components/responses/429'
/provide_predicted_qos:
post:
tags:
- 'QoS'
summary: 'Request the predicted QoS correspondent to potential routes of a vehicular UE.'
description: 'Request the predicted QoS correspondent to potential routes of a vehicular UE.'
operationId: predicted_qosPOST
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PredictedQos'
responses:
'200':
description: 'The response body shall contain the predicted QoS corresponding to potential routes of a vehicular UE'
content:
application/json:
schema:
$ref: '#/components/schemas/PredictedQos'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
/publish_v2x_message:
post:
tags:
- 'V2X_msg'
summary: 'Used to publish a V2X message.'
description: 'Used to publish a V2X message.'
operationId: v2x_messagePOST
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/V2xMsgPublication'
responses:
'204':
$ref: '#/components/responses/204'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'406':
$ref: '#/components/responses/406'
'429':
$ref: '#/components/responses/429'
/subscriptions:
get:
tags:
- 'subscription'
summary: 'Request information about the subscriptions for this requestor.'
description: 'Request information about the subscriptions for this requestor.'
operationId: subGET
parameters:
- in: query
name: subscription_type
description: 'Query parameter to filter on a specific subscription type. Permitted values: prov_chg_uu_uni: provisioning information change for V2X communication over Uuunicast prov_chg_uu_mbms: provisioning information change for V2X communication over Uu MBMS prov_chg_uu_pc5: provisioning information change for V2X communication over PC5. v2x_msg: V2X interoperability message'
schema:
type: string
required: false
responses:
'200':
description: 'A response body containing the list of links to requestor subscriptions is returned.'
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriptionLinkList'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'406':
$ref: '#/components/responses/406'
'429':
$ref: '#/components/responses/429'
post:
tags:
- 'subscription'
summary: ' create a new subscription to VIS notifications.'
description: ' create a new subscription to VIS notifications.'
operationId: subPOST
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/ProvChgUuUniSubscription'
- $ref: '#/components/schemas/ProvChgUuMbmsSubscription'
- $ref: '#/components/schemas/ProvChgPc5Subscription'
- $ref: '#/components/schemas/V2xMsgSubscription'
responses:
'201':
description: 'In the returned NotificationSubscription structure, the created subscription is described using the appropriate data type.'
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/ProvChgUuUniSubscription'
- $ref: '#/components/schemas/ProvChgUuMbmsSubscription'
- $ref: '#/components/schemas/ProvChgPc5Subscription'
- $ref: '#/components/schemas/V2xMsgSubscription'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'422':
$ref: '#/components/responses/422'
'429':
$ref: '#/components/responses/429'
callbacks:
notification:
'{$request.body#/callbackReference}':
post:
summary: 'Callback POST used to send a notification'
description: 'A notification from VIS.'
operationId: notificationPOST
requestBody:
description: Subscription notification
required: true
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/ProvChgUuUniNotification'
- $ref: '#/components/schemas/ProvChgUuMbmsNotification'
- $ref: '#/components/schemas/ProvChgPc5Notification'
- $ref: '#/components/schemas/V2xMsgNotification'
responses:
'204':
$ref: '#/components/responses/204'
/subscriptions/{subscriptionId}:
parameters:
- in: path
name: subscriptionId
description: 'Refers to created subscription, where the VIS API allocates a unique resource name for this subscription'
schema:
type: string
required: true
get:
tags:
- 'subscription'
summary: 'Retrieve information about this subscription.'
description: 'Retrieve information about this subscription.'
operationId: individualSubscriptionGET
responses:
'200':
description: 'A response body containing the data type describing the specific RNI event subscription is returned'
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/ProvChgUuUniSubscription'
- $ref: '#/components/schemas/ProvChgUuMbmsSubscription'
- $ref: '#/components/schemas/ProvChgPc5Subscription'
- $ref: '#/components/schemas/V2xMsgSubscription'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'406':
$ref: '#/components/responses/406'
'429':
$ref: '#/components/responses/429'
put:
tags:
- 'subscription'
summary: 'Used to update the existing subscription.'
description: 'Used to update the existing subscription.'
operationId: individualSubscriptionPUT
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/ProvChgUuUniSubscription'
- $ref: '#/components/schemas/ProvChgUuMbmsSubscription'
- $ref: '#/components/schemas/ProvChgPc5Subscription'
- $ref: '#/components/schemas/V2xMsgSubscription'
responses:
'200':
description: 'A response body containing data type describing the updated subscription is returned'
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/ProvChgUuUniSubscription'
- $ref: '#/components/schemas/ProvChgUuMbmsSubscription'
- $ref: '#/components/schemas/ProvChgPc5Subscription'
- $ref: '#/components/schemas/V2xMsgSubscription'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'406':
$ref: '#/components/responses/406'
'412':
$ref: '#/components/responses/412'
'422':
$ref: '#/components/responses/422'
'429':
$ref: '#/components/responses/429'
delete:
tags:
- 'subscription'
summary: 'Used to cancel the existing subscription.'
description: 'Used to cancel the existing subscription.'
operationId: individualSubscriptionDELETE
responses:
'204':
$ref: '#/components/responses/204'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
# /notifitication_end_point_provided_by_client
#post:
components:
schemas:
CellId:
properties:
cellId:
description: E-UTRAN Cell Identity as a bit string (size (28)).
type: string
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: String
required:
- cellId
type: object
x-etsi-ref: 6.6.2
Earfcn:
properties:
earfcn:
description: E-UTRA Absolute Radio Frequency Channel Number, range (0... 65535)
type: integer
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: Integer
required:
- earfcn
type: object
x-etsi-ref: 6.6.3
Ecgi:
properties:
cellId:
# description': The E-UTRAN Cell Identity.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': CellId
$ref: '#/components/schemas/CellId'
plmn:
# description': Public Land Mobile Network Identity.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': Plmn
$ref: '#/components/schemas/Plmn'
required:
- plmn
- cellId
type: object
x-etsi-ref: 6.5.5
FddInfo:
properties:
dlEarfcn:
# description': ''
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': Earfcn
$ref: '#/components/schemas/Earfcn'
dlTransmissionBandwidth:
# description': ''
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': TransmissionBandwidth
$ref: '#/components/schemas/TransmissionBandwidth'
ulEarfcn:
# description': ''
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': Earfcn
$ref: '#/components/schemas/Earfcn'
ulTransmissionBandwidth:
# description': ''
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': TransmissionBandwidth
$ref: '#/components/schemas/TransmissionBandwidth'
required:
- ulEarfcn
- dlEarfcn
- ulTransmissionBandwidth
- dlTransmissionBandwidth
type: object
x-etsi-ref: 6.5.6
LocationInfo.geoArea:
description: Information of a geographical area.
properties:
latitude:
description: 'Latitude (DATUM = WGS84) -90 to 90 in decimal degree format DDD.ddd'
format: Float
type: number
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: Float
longitude:
description: 'Longitude (DATUM = WGS84)-180 to 180 in decimal degree format DDD.ddd'
format: Float
type: number
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: Float
required:
- latitude
- longitude
type: object
x-etsi-mec-cardinality: 0..1
LocationInfo:
properties:
ecgi:
# description': E-UTRAN CelI Global Identifier of the serving cell.
# x-etsi-mec-cardinality': 0..1
# x-etsi-mec-origin-type': Ecgi
$ref: '#/components/schemas/Ecgi'
geoArea:
$ref: '#/components/schemas/LocationInfo.geoArea'
type: object
x-etsi-notes: "NOTE:\tEither ecgi or geoArea shall be present, but not both."
x-etsi-ref: 6.5.3
Pc5NeighbourCellInfo:
properties:
ecgi:
# description': E-UTRAN CelI Global Identifier.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': Ecgi
$ref: '#/components/schemas/Ecgi'
plmn:
# description': Public Land Mobile Network Identity.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': Plmn
$ref: '#/components/schemas/Plmn'
siV2xConfig:
description: V2X sidelink communication configuration, as defined in ETSI TS 136 331 [i.11].
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': SystemInformationBlockType21 (as defined in ETSI TS 136 331 [i.11])
type: string
required:
- plmn
- ecgi
- siV2xConfig
type: object
x-etsi-ref: 6.5.12
Pc5ProvisioningInfo.proInfoPc5:
description: The provisioning information per location as defined below.
properties:
dstLayer2Id:
description: "For sidelink communication, the Destination Layer-2 ID is set to the ProSe Layer-2 Group ID or Prose UE ID, see ETSI TS\_136\_321 [i.12].\nPLMN operators coordinate to make sure Destination Layer-2 ID(s) for different V2X services are configured in a consistent manner."
type: string
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: String
locationInfo:
# description': Location information to identify a cell of a base station or a particular geographical area.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': LocationInfo
$ref: '#/components/schemas/LocationInfo'
neighbourCellInfo:
description: The information of the neighbour cells in a visiting PLMN that support V2X communication over PC5.
items:
$ref: '#/components/schemas/Pc5NeighbourCellInfo'
minItems: 0
type: array
x-etsi-mec-cardinality: 0..N
x-etsi-mec-origin-type: Pc5NeighbourCellInfo
required:
- locationInfo
- dstLayer2Id
Pc5ProvisioningInfo:
properties:
proInfoPc5:
type: array
items:
$ref: '#/components/schemas/Pc5ProvisioningInfo.proInfoPc5'
timeStamp:
# description': Time stamp.
# x-etsi-mec-cardinality': 0..1
# x-etsi-mec-origin-type': TimeStamp
$ref: '#/components/schemas/TimeStamp'
required:
- proInfoPc5
type: object
x-etsi-ref: 6.2.4
Plmn:
properties:
mcc:
description: The Mobile Country Code part of PLMN Identity.
type: string
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: String
mnc:
description: The Mobile Network Code part of PLMN Identity.
type: string
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: String
required:
- mcc
- mnc
type: object
x-etsi-ref: 6.5.4
PredictedQos.routes.routeInfo:
required:
- location
properties:
location:
$ref: '#/components/schemas/LocationInfo'
time:
$ref: '#/components/schemas/TimeStamp'
rsrp:
description: 'Reference Signal Received Quality as defined in ETSI TS 136 214 [i.13]. Shall only be included in the response'
type: integer
format: Uint8
rsrq:
description: 'Reference Signal Received Quality as defined in ETSI TS 136 214 [i.13]. Shall only be included in the response'
type: integer
format: Uint8
PredictedQos.routes:
properties:
routeinfo:
description: 'Information relating to a specific route. The first structure shall relate to the route origin and the last to the route destination. Intermediate waypoint locations may also be provided. '
type: array
minItems: 2
items:
$ref: '#/components/schemas/PredictedQos.routes.routeInfo'
required:
- routeinfo
PredictedQos:
description: 'predicted QoS of a vehicular UE'
properties:
timeGranularity:
$ref: '#/components/schemas/TimeStamp'
locationGranularity:
description: 'Granularity of visited location. Measured in meters'
type: string
routes:
type: array
items:
$ref: '#/components/schemas/PredictedQos.routes'
required:
- locationGranularity
- routes
type: object
x-etsi-mec-cardinality: 0..1
ProvChgPc5Notification:
properties:
dstLayer2Id:
description: For sidelink communication, the Destination Layer-2 ID is set to the ProSe Layer-2 Group ID or Prose UE ID, see ETSI TS 136 321 [i.12].
type: string
x-etsi-mec-cardinality: 0..1
x-etsi-mec-origin-type: String
locationInfo:
# description': Location information to identify a cell of a base station or a particular geographical area.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': LocationInfo
$ref: '#/components/schemas/LocationInfo'
neighbourCellInfo:
description: The information of the neighbour cells in a visiting PLMN that support V2X communication over PC5.
items:
$ref: '#/components/schemas/Pc5NeighbourCellInfo'
minItems: 0
type: array
x-etsi-mec-cardinality: 0..N
x-etsi-mec-origin-type: Pc5NeighbourCellInfo
notificationType:
description: Shall be set to "ProvChgPc5Notification".
type: string
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: String
timeStamp:
# description': Time stamp.
# x-etsi-mec-cardinality': 0..1
# x-etsi-mec-origin-type': TimeStamp
$ref: '#/components/schemas/TimeStamp'
required:
- notificationType
- locationInfo
type: object
x-etsi-ref: 6.4.4
ProvChgPc5Subscription.links:
description: Hyperlink related to the resource. This shall be only included in the HTTP responses and in HTTP PUT requests.
properties:
self:
# description': Self-referring URI. The URI shall be unique within the VIS API as it acts as an ID for the subscription.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': LinkType
$ref: '#/components/schemas/LinkType'
required:
- self
type: object
x-etsi-mec-cardinality: 0..1
ProvChgPc5Subscription.filterCriteria:
description: List of filtering criteria for the subscription. Any filtering criteria from below, which is included in the request, shall also be included in the response.
properties:
dstLayer2Id:
description: For sidelink communication, the Destination Layer-2 ID is set to the ProSe Layer-2 Group ID or Prose UE ID, see ETSI TS 136 321 [i.12].
type: string
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: String
locationInfo:
# description': Location information to identify a cell of a base station or a particular geographical area.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': LocationInfo
$ref: '#/components/schemas/LocationInfo'
neighbourCellInfo:
description: The information of the neighbour cells in a visiting PLMN that support V2X communication over PC5.
items:
$ref: '#/components/schemas/Pc5NeighbourCellInfo'
minItems: 0
type: array
x-etsi-mec-cardinality: 0..N
x-etsi-mec-origin-type: Pc5NeighbourCellInfo
required:
- locationInfo
- dstLayer2Id
type: object
x-etsi-mec-cardinality: '1'
ProvChgPc5Subscription:
properties:
_links:
$ref: '#/components/schemas/ProvChgPc5Subscription.links'
callbackReference:
description: URI selected by the service consumer to receive notifications on the subscribed VIS information. This shall be included both in the request and in response.
format: uri
type: string
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: URI
expiryDeadline:
# description': Time stamp.
# x-etsi-mec-cardinality': 0..1
# x-etsi-mec-origin-type': TimeStamp
$ref: '#/components/schemas/TimeStamp'
filterCriteria:
$ref: '#/components/schemas/ProvChgPc5Subscription.filterCriteria'
subscriptionType:
description: Shall be set to "ProvChgPc5Subscription".
type: string
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: String
required:
- subscriptionType
- callbackReference
- filterCriteria
type: object
x-etsi-ref: 6.3.4
ProvChgUuMbmsNotification:
properties:
locationInfo:
# description': Location information to identify a cell of a base station or a particular geographical area.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': LocationInfo
$ref: '#/components/schemas/LocationInfo'
neighbourCellInfo:
description: The information of the neighbour cells in a visiting PLMN that support V2X communication over Uu MBMS.
items:
$ref: '#/components/schemas/UuMbmsNeighbourCellInfo'
minItems: 0
type: array
x-etsi-mec-cardinality: 0..N
x-etsi-mec-origin-type: UuMbmsNeighbourCellInfo
notificationType:
description: Shall be set to "ProvChgUuMbmsNotification".
type: string
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: String
timeStamp:
# description': Time stamp.
# x-etsi-mec-cardinality': 0..1
# x-etsi-mec-origin-type': TimeStamp
$ref: '#/components/schemas/TimeStamp'
v2xServerUsd:
# description': User Service Description for V2X Application Server is used to configure the UE for receiving local V2X Application Server information when it is provided over MBMS.
# x-etsi-mec-cardinality': 0..1
# x-etsi-mec-origin-type': V2xServerUsd
$ref: '#/components/schemas/V2xServerUsd'
required:
- notificationType
- locationInfo
type: object
x-etsi-ref: 6.4.3
ProvChgUuMbmsSubscription.links:
description: Hyperlink related to the resource. This shall be only included in the HTTP responses and in HTTP PUT requests.
properties:
self:
# description': Self-referring URI. The URI shall be unique within the VIS API as it acts as an ID for the subscription.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': LinkType
$ref: '#/components/schemas/LinkType'
required:
- self
type: object
x-etsi-mec-cardinality: 0..1
ProvChgUuMbmsSubscription.filterCriteria:
description: List of filtering criteria for the subscription. Any filtering criteria from below, which is included in the request, shall also be included in the response.
properties:
locationInfo:
# description': Location information to identify a cell of a base station or a particular geographical area.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': LocationInfo
$ref: '#/components/schemas/LocationInfo'
neighbourCellInfo:
description: The information of the neighbour cells in a visiting PLMN that support V2X communication over Uu MBMS.
items:
$ref: '#/components/schemas/UuMbmsNeighbourCellInfo'
minItems: 0
type: array
x-etsi-mec-cardinality: 0..N
x-etsi-mec-origin-type: UuMbmsNeighbourCellInfo
v2xServerUsd:
# description': User Service Description for V2X Application Server is used to configure the UE for receiving local V2X Application Server information when it is provided over MBMS.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': V2xServerUsd
$ref: '#/components/schemas/V2xServerUsd'
required:
- locationInfo
- v2xServerUsd
type: object
x-etsi-mec-cardinality: '1'
ProvChgUuMbmsSubscription:
properties:
_links:
$ref: '#/components/schemas/ProvChgUuMbmsSubscription.links'
callbackReference:
description: URI selected by the service consumer to receive notifications on the subscribed VIS information. This shall be included both in the request and in response.
format: uri
type: string
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: URI
expiryDeadline:
# description': Time stamp.
# x-etsi-mec-cardinality': 0..1
# x-etsi-mec-origin-type': TimeStamp
$ref: '#/components/schemas/TimeStamp'
filterCriteria:
$ref: '#/components/schemas/ProvChgUuMbmsSubscription.filterCriteria'
subscriptionType:
description: Shall be set to "ProvChgUuMbmsSubscription".
type: string
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: String
required:
- subscriptionType
- callbackReference
- filterCriteria
type: object
x-etsi-ref: 6.3.3
ProvChgUuUniNotification:
properties:
locationInfo:
# description': Location information to identify a cell of a base station or a particular geographical area.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': LocationInfo
$ref: '#/components/schemas/LocationInfo'
neighbourCellInfo:
description: The information of the neighbour cells in a visiting PLMN that support V2X communication over Uu unicast.
items:
$ref: '#/components/schemas/UuUniNeighbourCellInfo'
minItems: 0
type: array
x-etsi-mec-cardinality: 0..N
x-etsi-mec-origin-type: UuUniNeighbourCellInfo
notificationType:
description: Shall be set to "ProvChgUuUniNotification".
type: string
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: String
timeStamp:
# description': Time stamp.
# x-etsi-mec-cardinality': 0..1
# x-etsi-mec-origin-type': TimeStamp
$ref: '#/components/schemas/TimeStamp'
v2xApplicationServer:
# description': V2X Application Server address (consisting of IP address and UDP port) for unicast.
# x-etsi-mec-cardinality': 0..1
# x-etsi-mec-origin-type': V2xApplicationServer
$ref: '#/components/schemas/V2xApplicationServer'
required:
- notificationType
- locationInfo
type: object
x-etsi-ref: 6.4.2
ProvChgUuUniSubscription.links:
description: Hyperlink related to the resource. This shall be only included in the HTTP responses and in HTTP PUT requests.
properties:
self:
# description': Self-referring URI. The URI shall be unique within the VIS API as it acts as an ID for the subscription.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': LinkType
$ref: '#/components/schemas/LinkType'
required:
- self
type: object
x-etsi-mec-cardinality: 0..1
ProvChgUuUniSubscription.filterCriteria:
description: List of filtering criteria for the subscription. Any filtering criteria from below, which is included in the request, shall also be included in the response.
properties:
locationInfo:
# description': Location information to identify a cell of a base station or a particular geographical area.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': LocationInfo
$ref: '#/components/schemas/LocationInfo'
neighbourCellInfo:
description: The information of the neighbour cells in a visiting PLMN that support V2X communication over Uu unicast.
items:
$ref: '#/components/schemas/UuUniNeighbourCellInfo'
minItems: 0
type: array
x-etsi-mec-cardinality: 0..N
x-etsi-mec-origin-type: UuUniNeighbourCellInfo
v2xApplicationServer:
# description': V2X Application Server address (consisting of IP address and UDP port) for unicast.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': V2xApplicationServer
$ref: '#/components/schemas/V2xApplicationServer'
required:
- locationInfo
- v2xApplicationServer
type: object
x-etsi-mec-cardinality: '1'
ProvChgUuUniSubscription:
properties:
_links:
$ref: '#/components/schemas/ProvChgUuUniSubscription.links'
callbackReference:
description: URI selected by the service consumer to receive notifications on the subscribed VIS information. This shall be included both in the request and in response.
format: uri
type: string
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: URI
expiryDeadline:
# description': Time stamp.
# x-etsi-mec-cardinality': 0..1
# x-etsi-mec-origin-type': TimeStamp
$ref: '#/components/schemas/TimeStamp'
filterCriteria:
$ref: '#/components/schemas/ProvChgUuUniSubscription.filterCriteria'
subscriptionType:
description: Shall be set to "ProvChgUuUniSubscription".
type: string
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: String
required:
- subscriptionType
- callbackReference
- filterCriteria
type: object
x-etsi-ref: 6.3.2
SubscriptionLinkList.links.subscriptions:
description: "The service consumer\u2019s subscriptions."
properties:
href:
description: The URI referring to the subscription.
format: uri
type: string
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: URI
subscriptionType:
description: Type of the subscription. The values are as defined in the \"subscriptionType\" attribute for each different V2X information event subscription data type.
type: string
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: String
required:
- href
- subscriptionType
x-etsi-mec-cardinality: 0..N
SubscriptionLinkList.links:
description: List of hyperlinks related to the resource.
properties:
self:
# description': URI of this resource.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': LinkType
$ref: '#/components/schemas/LinkType'
subscriptions:
type: array
items:
$ref: '#/components/schemas/SubscriptionLinkList.links.subscriptions'
type: object
required:
- self
x-etsi-mec-cardinality: '1'
SubscriptionLinkList:
properties:
_links:
$ref: '#/components/schemas/SubscriptionLinkList.links'
required:
- _links
type: object
x-etsi-ref: 6.3.6
TddInfo:
properties:
earfcn:
# description': ''
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': Earfcn
$ref: '#/components/schemas/Earfcn'
subframeAssignment:
description: Uplink-downlink subframe configuration information.
type: string
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: String
transmissionBandwidth:
# description': ''
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': TransmissionBandwidth
$ref: '#/components/schemas/TransmissionBandwidth'
required:
- earfcn
- transmissionBandwidth
- subframeAssignment
type: object
x-etsi-ref: 6.5.7
TimeStamp:
properties:
nanoSeconds:
description: The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.
format: Uint32
type: integer
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: Uint32
seconds:
description: The seconds part of the time. Time is defined as Unixtime since January 1, 1970, 00:00:00 UTC.
format: Uint32
type: integer
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: Uint32
required:
- seconds
- nanoSeconds
type: object
x-etsi-ref: 6.5.2
TransmissionBandwidth.transmissionBandwidth:
description: 'Numeric value corresponding to the transmission bandwidth expressed in units of resource blocks as follows:1 = bw6 (6 resource blocks)2 = bw15 (15 resource blocks) 3 = bw25 (25 resource blocks) 4 = bw50 (50 resource blocks) 5 = bw75 (75 resource blocks) 6 = bw100 (100 resource blocks)'
enum:
- 1
- 2
- 3
- 4
- 5
- 6
type: integer
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: Enum
TransmissionBandwidth:
properties:
transmissionBandwidth:
$ref: '#/components/schemas/TransmissionBandwidth.transmissionBandwidth'
required:
- transmissionBandwidth
type: object
x-etsi-ref: 6.6.4
UuMbmsNeighbourCellInfo:
properties:
ecgi:
# description': E-UTRAN CelI Global Identifier.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': Ecgi
$ref: '#/components/schemas/Ecgi'
fddInfo:
# description': Information for FDD operation.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': FddInfo
$ref: '#/components/schemas/FddInfo'
mbmsServiceAreaIdentity:
description: Supported MBMS Service Area Identities in the cell.
items:
type: string
minItems: 1
type: array
x-etsi-mec-cardinality: 1..N
x-etsi-mec-origin-type: String
pci:
description: Physical Cell Identifier.
type: integer
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: Integer
plmn:
# description': Public Land Mobile Network Identity.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': Plmn
$ref: '#/components/schemas/Plmn'
tddInfo:
# description': Information for TDD operation.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': TddInfo
$ref: '#/components/schemas/TddInfo'
required:
- plmn
- ecgi
- pci
- fddInfo
- tddInfo
- mbmsServiceAreaIdentity
type: object
x-etsi-ref: 6.5.11
UuMbmsProvisioningInfo.proInfoUuMbms:
description: The provisioning information per location as defined below.
properties:
locationInfo:
# description': Location information to identify a cell of a base station or a particular geographical area.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': LocationInfo
$ref: '#/components/schemas/LocationInfo'
neighbourCellInfo:
description: The information of the neighbour cells in a visiting PLMN that support V2X communication over Uu MBMS.
type: array
items:
$ref: '#/components/schemas/UuMbmsNeighbourCellInfo'
minItems: 0
x-etsi-mec-cardinality: 0..N
x-etsi-mec-origin-type: UuMbmsNeighbourCellInfo
v2xServerUsd:
# description': User Service Description for V2X Application Server is used to configure the UE for receiving local V2X Application Server information when it is provided over MBMS.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': V2xServerUsd
$ref: '#/components/schemas/V2xServerUsd'
required:
- locationInfo
- v2xServerUsd
UuMbmsProvisioningInfo:
properties:
proInfoUuMbms:
$ref: '#/components/schemas/UuMbmsProvisioningInfo.proInfoUuMbms'
timeStamp:
# description': Time stamp.
# x-etsi-mec-cardinality': 0..1
# x-etsi-mec-origin-type': TimeStamp
$ref: '#/components/schemas/TimeStamp'
required:
- proInfoUuMbms
type: object
x-etsi-ref: 6.2.3
UuUniNeighbourCellInfo:
properties:
ecgi:
# description': E-UTRAN CelI Global Identifier.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': Ecgi
$ref: '#/components/schemas/Ecgi'
fddInfo:
# description': Information for FDD operation.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': FddInfo
$ref: '#/components/schemas/FddInfo'
pci:
description: Physical Cell Identifier.
type: integer
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: Integer
plmn:
# description': Public Land Mobile Network Identity.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': Plmn
$ref: '#/components/schemas/Plmn'
tddInfo:
# description': Information for TDD operation.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': TddInfo
$ref: '#/components/schemas/TddInfo'
required:
- plmn
- ecgi
- pci
- fddInfo
- tddInfo
type: object
x-etsi-ref: 6.5.9
UuUnicastProvisioningInfo.proInfoUuUnicast:
description: The provisioning information per location as defined below.
properties:
locationInfo:
# description': Location information to identify a cell of a base station or a particular geographical area.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': LocationInfo
$ref: '#/components/schemas/LocationInfo'
neighbourCellInfo:
description: The information of the neighbour cells in a visiting PLMN that support V2X communication over Uu unicast.
items:
$ref: '#/components/schemas/UuUniNeighbourCellInfo'
minItems: 0
type: array
x-etsi-mec-cardinality: 0..N
x-etsi-mec-origin-type: UuUniNeighbourCellInfo
v2xApplicationServer:
# description': V2X Application Server address (consisting of IP address and UDP port) for unicast.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': V2xApplicationServer
$ref: '#/components/schemas/V2xApplicationServer'
required:
- locationInfo
- v2xApplicationServer
x-etsi-mec-cardinality: 1..N
UuUnicastProvisioningInfo:
properties:
proInfoUuUnicast:
type: array
items:
$ref: '#/components/schemas/UuUnicastProvisioningInfo.proInfoUuUnicast'
timeStamp:
# description': Time stamp.
# x-etsi-mec-cardinality': 0..1
# x-etsi-mec-origin-type': TimeStamp
$ref: '#/components/schemas/TimeStamp'
required:
- proInfoUuUnicast
type: object
x-etsi-ref: 6.2.2
V2xApplicationServer:
properties:
ipAddress:
description: ''
type: string
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: String
udpPort:
description: ''
type: string
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: String
required:
- ipAddress
- udpPort
type: object
x-etsi-ref: 6.5.8
msgType:
description: ' denm(1): Decentralized Environmental Notification Message (DENM) as specified in ETSI EN 302 637-3 [i.3], cam(2): Cooperative Awareness Message (CAM) as specified in ETSI EN 302 637-2 [i.2], poi(3): Point of Interest message as specified in ETSI TS 101 556-1 [i.11], spat(4): Signal Phase And Timing (SPAT) message as specified in SAE J2735 [i.12], map(5): MAP message as specified in SAE J2735 [i.12], ivi(6): In Vehicle Information (IVI) message as defined in ISO TS 19321 [i.13], ev-rsr(7): Electric vehicle recharging spot reservation message, as defined in ETSI TS 101 556-3 [i.14], '
enum:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
type: integer
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: Enum
V2xMsgPublication:
properties:
msgContent:
description: Published V2X message content. Its format is defined by the standardization organization indicated by the attribute stdOrganization.
type: string
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: String
msgEncodeFormat:
description: The encode format of the V2X message, for example base64.
type: string
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: String
msgType:
$ref: '#/components/schemas/msgType'
#x-etsi-mec-origin-type: Enum
stdOrganization:
description: "Standardization organization which defines the published V2X message type: \nETSI: European Telecommunications Standards Institute. \nSee note 1."
enum:
- ETSI
type: string
x-etsi-mec-cardinality: '1'
#-etsi-mec-origin-type: Enum
required:
- stdOrganization
- msgType
- msgEncodeFormat
- msgContent
type: object
x-etsi-notes: "NOTE 1: Other standardization organizations could be added as needed.NOTE 2:The V2X message types of ETSI shall be used as specified in ETSI TS 102 894-2 [6], clause A.114."
x-etsi-ref: 6.2.6
V2xMsgSubscription.links:
description: Hyperlink related to the resource. This shall be only included in the HTTP responses and in HTTP PUT requests.
properties:
self:
# description': Self-referring URI. The URI shall be unique within the VIS API as it acts as an ID for the subscription.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': LinkType
$ref: '#/components/schemas/LinkType'
required:
- self
type: object
x-etsi-mec-cardinality: 0..1
V2xMsgSubscription.filterCriteria:
description: List of filtering criteria for the subscription. Any filtering criteria from below, which is included in the request, shall also be included in the response.
properties:
msgType:
description: Subscribed V2X message type. Its value is defined by the standardization organization indicated by the attribute stdOrganization. See note 2.
items:
type: string
minItems: 0
type: array
x-etsi-mec-cardinality: 0..N
x-etsi-mec-origin-type: Enum
stdOrganization:
description: "Standardization organization which defines the subscribed V2X message type: \nETSI: European Telecommunications Standards Institute. \nSee note 1."
enum:
- ETSI
type: string
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: Enum
required:
- stdOrganization
type: object
x-etsi-mec-cardinality: '1'
V2xMsgSubscription:
properties:
_links:
$ref: '#/components/schemas/V2xMsgSubscription.links'
callbackReference:
description: URI selected by the service consumer to receive notifications on the subscribed V2X message. This shall be included both in the request and in response.
format: uri
type: string
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: URI
expiryDeadline:
# description': Time stamp.
# x-etsi-mec-cardinality': 0..1
# x-etsi-mec-origin-type': TimeStamp
$ref: '#/components/schemas/TimeStamp'
filterCriteria:
$ref: '#/components/schemas/V2xMsgSubscription.filterCriteria'
subscriptionType:
description: Shall be set to "V2xMsgSubscription".
type: string
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: String
required:
- subscriptionType
- callbackReference
- filterCriteria
type: object
x-etsi-notes: "NOTE 1:\tOther standardization organizations could be added as needed.\nNOTE 2:\tThe V2X message types of ETSI shall be used as specified in ETSI TS 102 894-2 [6], clause A.114."
x-etsi-ref: 6.3.5
V2xMsgNotification.links:
description: 'Links to resources related to this notification.'
properties:
subscription:
# description': Self-referring URI. The URI shall be unique within the VIS API as it acts as an ID for the subscription.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': LinkType
$ref: '#/components/schemas/LinkType'
required:
- subscription
type: object
x-etsi-mec-cardinality: 0..1
V2xMsgNotification:
properties:
notificationType:
description: Shall be set to "V2xMsgNotification".
type: string
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: String
timeStamp:
# description': Time stamp.
# x-etsi-mec-cardinality': 0..1
# x-etsi-mec-origin-type': TimeStamp
$ref: '#/components/schemas/TimeStamp'
stdOrganization:
description: 'Standardization organization which defines the published V2X message type ETSI: European Telecommunications Standards Institute. See note 1.'
enum:
- "ETSI"
type: string
msgType:
$ref: '#/components/schemas/msgType'
msgEncodeFormat:
description: 'The encode format of the V2X message, for example base64 '
type: string
msgContent:
description: 'Published V2X message content. The format of the string is defined by the standardization organization indicated by the attribute stdOrganization.'
type: string
_links:
$ref: '#/components/schemas/V2xMsgNotification.links'
required:
- notificationType
- timeStamp
- stdOrganization
- msgType
- msgEncodeFormat
- msgContent
- _links
type: object
x-etsi-notes: "NOTE 1: Other standardization organizations could be added as needed. NOTE 2: The V2X message types of ETSI shall be used as specified in ETSI TS 102 894-2 [6], clause A.114"
V2xServerUsd.sdpInfo:
description: SDP with IP multicast address and port number used for V2X communication via MBMS.
properties:
ipMulticastAddress:
description: ''
type: string
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: String
portNumber:
description: ''
type: string
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: String
required:
- ipMulticastAddress
- portNumber
type: object
x-etsi-mec-cardinality: '1'
V2xServerUsd.tmgi:
description: Temporary Mobile Group Identity (TMGI), which is used within MBMS to uniquely identify Multicast and Broadcast bearer services.
properties:
mbmsServiceId:
description: MBMS Service ID consisting of three octets.
type: string
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: String
mcc:
description: The Mobile Country Code part of PLMN Identity.
type: string
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: String
mnc:
description: The Mobile Network Code part of PLMN Identity.
type: string
x-etsi-mec-cardinality: '1'
x-etsi-mec-origin-type: String
required:
- mbmsServiceId
- mcc
- mnc
type: object
x-etsi-mec-cardinality: ''
V2xServerUsd:
properties:
sdpInfo:
$ref: '#/components/schemas/V2xServerUsd.sdpInfo'
serviceAreaIdentifier:
description: A list of service area identifier for the applicable MBMS broadcast area.
items:
type: string
minItems: 1
type: array
x-etsi-mec-cardinality: 1..N
x-etsi-mec-origin-type: String
tmgi:
$ref: '#/components/schemas/V2xServerUsd.tmgi'
required:
- tmgi
- serviceAreaIdentifier
- sdpInfo
type: object
x-etsi-ref: 6.5.10
LinkType:
description: >-
'This data type represents a type of link'
type: object
required:
- href
properties:
href:
$ref: '#/components/schemas/Href'
Href:
description: >-
The URI referring to the subscription.
type: string
format: uri
ProblemDetails:
properties:
detail:
description: A human-readable explanation specific to this occurrence of the problem
type: string
x-etsi-mec-cardinality: 0..1
x-etsi-mec-origin-type: String
instance:
description: A URI reference that identifies the specific occurrence of the problem
format: uri
type: string
x-etsi-mec-cardinality: 0..1
x-etsi-mec-origin-type: URI
status:
description: The HTTP status code for this occurrence of the problem
format: uint32
type: integer
x-etsi-mec-cardinality: 0..1
x-etsi-mec-origin-type: Uint32
title:
description: A short, human-readable summary of the problem type
type: string
x-etsi-mec-cardinality: 0..1
x-etsi-mec-origin-type: String
type:
description: A URI reference according to IETF RFC 3986 that identifies the problem type
format: uri
type: string
x-etsi-mec-cardinality: 0..1
x-etsi-mec-origin-type: URI
type: object
responses:
204:
description: No Content
206:
description: Partial content
400:
description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
401:
description: 'Unauthorized : used when the client did not submit credentials.'
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
403:
description: 'Forbidden : operation is not allowed given the current status of the resource.'
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
404:
description: 'Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.'
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
406:
description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.'
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
409:
description: 'Conflict : The operation cannot be executed currently, due to a conflict with the state of the resource'
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
412:
description: 'Precondition failed : used when a condition has failed during conditional requests, e.g. when using ETags to avoid write conflicts when using PUT'
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
415:
description: 'Unsupported Media Type : used to indicate that the server or the client does not support the content type of the entity body.'
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
422:
description: 'Unprocessable Entity : used to indicate that the server understands the content type of the request entity and that the syntax of the request entity is correct but that the server is unable to process the contained instructions. This error condition can occur if an JSON request body is syntactically correct but semantically incorrect, for example if the target area for the request is considered too large. This error condition can also occur if the capabilities required by the request are not supported.'
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
429:
description: 'Too Many Requests : used when a rate limiter has triggered.'
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'