diff --git a/README.md b/README.md index 09b8dc0ed927430325d7d4b8b475f166c958125d..b112f71d6ca1be85932cb3f0e779db60a5e5395b 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,9 @@ This repository contains OpenAPIs descriptions for the interfaces specified in E ## Online resources -* [Specification document](https://www.etsi.org/deliver/etsi_gs/MEC/001_099/028/02.01.01_60/gs_MEC028v020101p.pdf) -* [Navigate the API in the browser](https://forge.etsi.org/swagger/ui/?url=https://forge.etsi.org/rep/mec/gs028-wai-api/raw/v2.1.1/WlanInformationApi.yaml). -* [Edit the API online](https://forge.etsi.org/swagger/editor/?url=https://forge.etsi.org/rep/mec/gs028-wai-api/raw/v2.1.1/WlanInformationApi.yaml). +* [Specification document](https://www.etsi.org/deliver/etsi_gs/MEC/001_099/028/02.02.01_60/gs_MEC028v020201p.pdf) +* [Navigate the API in the browser](https://forge.etsi.org/swagger/ui/?url=https://forge.etsi.org/rep/mec/gs028-wai-api/raw/v2.2.1/WlanInformationApi.yaml). +* [Edit the API online](https://forge.etsi.org/swagger/editor/?url=https://forge.etsi.org/rep/mec/gs028-wai-api/raw/v2.2.1/WlanInformationApi.yaml). ## License diff --git a/WlanInformationApi.json b/WlanInformationApi.json index 42cc0d022e574d0b9edb0eefb5382b95482edcad..cdbf80a34ec2922bc315d88267d841f42a1e98c9 100644 --- a/WlanInformationApi.json +++ b/WlanInformationApi.json @@ -5,7 +5,7 @@ "url": "https://forge.etsi.org/rep/mec/gs028-wai-api" }, "title": "ETSI GS MEC 028 - WLAN Access Information API", - "version": "2.1.1", + "version": "2.2.1", "description": "The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI", "license": { "name": "BSD-3-Clause", @@ -13,8 +13,8 @@ } }, "externalDocs": { - "description": "ETSI MEC028 V2.1.1 WLAN Information API", - "url": "http://www.etsi.org/deliver/etsi_gs/MEC/001_099/028/02.01.01_60/gs_mec028v020101p.pdf" + "description": "ETSI MEC028 V2.2.1 WLAN Information API", + "url": "https://www.etsi.org/deliver/etsi_gs/MEC/001_099/028/02.02.01_60/gs_mec028v020201p.pdf" }, "servers": [ { @@ -232,9 +232,13 @@ "nanoSeconds": 0 }, "apId": { - "macId": "005C0A0A0A0A", - "ssid": "myNetworkSsid", - "ipAddress": "10.10.100.1" + "bssid": "005C0A0A0A0A", + "ssid": [ + "myNetworkSsid" + ], + "ipAddress": [ + "10.10.100.1" + ] } } } @@ -261,9 +265,13 @@ "nanoSeconds": 0 }, "apId": { - "macId": "005C0A0A0A0A", - "ssid": "myNetworkSsid", - "ipAddress": "10.10.100.1" + "bssid": "005C0A0A0A0A", + "ssid": [ + "myNetworkSsid" + ], + "ipAddress": [ + "10.10.100.1" + ] } } } @@ -316,9 +324,13 @@ "nanoseconds": 0 }, "apId": { - "macId": "005C0A0A0A0A", - "ssid": "myNetworkSsid", - "ipAddress": "10.10.100.1" + "bssid": "005C0A0A0A0A", + "ssid": [ + "myNetworkSsid" + ], + "ipAddress": [ + "10.10.100.1" + ] }, "staId": { "macId": "005C01111111", @@ -327,7 +339,9 @@ "myOtherNetworkSsid" ], "aid": "1122", - "ipAddress": "10.10.1.255" + "ipAddress": [ + "10.10.1.255" + ] } } } @@ -378,9 +392,13 @@ "nanoSeconds": 0 }, "apId": { - "macId": "005C0A0A0A0A", - "ssid": "myNetworkSsid", - "ipAddress": "10.10.100.1" + "bssid": "005C0A0A0A0A", + "ssid": [ + "myNetworkSsid" + ], + "ipAddress": [ + "10.10.100.1" + ] } } } @@ -434,9 +452,13 @@ "nanoSeconds": 0 }, "apId": { - "macId": "005C0A0A0A0A", - "ssid": "myNetworkSsid", - "ipAddress": "10.10.100.1" + "bssid": "005C0A0A0A0A", + "ssid": [ + "myNetworkSsid" + ], + "ipAddress": [ + "10.10.100.1" + ] } } } @@ -463,7 +485,13 @@ }, "callbackReference": "http://my.callback.com/wai/some-id", "apId": { - "macId": "005C0A0A0A0A" + "bssid": "005C0A0A0A0A", + "ssid": [ + "myNetworkSsid" + ], + "ipAddress": [ + "10.10.100.1" + ] } } } @@ -525,6 +553,324 @@ } } } + }, + "/measurements": { + "get": { + "tags": [ + "wai" + ], + "summary": "Retrieve information on measurements configuration", + "description": "Queries information on measurements configuration", + "operationId": "measurementLinkList_measurementsGET", + "responses": { + "200": { + "description": "Response body contains the list of links to requestors measurement configurations.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MeasurementConfigLinkList" + }, + "example": { + "_links": { + "self": { + "href": "http://meAppServer.example.com/wai/v2/measurements" + } + }, + "measurementConfig": [ + { + "href": "http://meAppServer.example.com/wai/v2/measurements/meas123", + "measurementId": "myId1" + } + ] + } + } + } + }, + "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": [ + "wai" + ], + "summary": "Create a new measurement configuration", + "description": "Creates a new measurement configuration", + "operationId": "measurementsPOST", + "requestBody": { + "description": "Measurement configuration information", + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MeasurementConfig" + }, + "example": { + "staId": { + "macId": "005C01111111", + "ssid": [ + "myNetworkSsid", + "myOtherNetworkSsid" + ] + }, + "measurementId": "myId1", + "measurementInfo": {} + } + } + } + }, + "responses": { + "201": { + "description": "Successful measurement configuration response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MeasurementConfig" + }, + "example": { + "_links": { + "self": { + "href": "http://meAppServer.example.com/wai/v2/measurements/meas123" + } + }, + "staId": { + "macId": "005C01111111", + "ssid": [ + "myNetworkSsid", + "myOtherNetworkSsid" + ] + }, + "measurementId": "myId1", + "measurementInfo": {} + } + } + } + }, + "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" + } + } + } + }, + "/measurements/{measurementConfigId}": { + "get": { + "tags": [ + "wai" + ], + "summary": "Retrieve information on an existing measurement configuration", + "description": "Queries information about an existing measurement configuration, identified by its self-referring URI returned on creation (initial POST)", + "operationId": "measurementsGET", + "parameters": [ + { + "$ref": "#/components/parameters/Path.measurementConfigId" + } + ], + "responses": { + "200": { + "description": "Measurement configuration information", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MeasurementConfig" + }, + "example": { + "_links": { + "self": { + "href": "http://meAppServer.example.com/wai/v2/measurements/meas123" + } + }, + "staId": { + "macId": "005C01111111", + "ssid": [ + "myNetworkSsid", + "myOtherNetworkSsid" + ] + }, + "measurementId": "myId1", + "measurementInfo": {} + } + } + } + }, + "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": [ + "wai" + ], + "summary": "Modify an existing measurement configuration", + "description": "Updates an existing measurement configuration, identified by its self-referring URI returned on creation (initial POST)", + "operationId": "measurementsPUT", + "requestBody": { + "description": "Measurement configuration to be modified", + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MeasurementConfig" + }, + "example": { + "_links": { + "self": { + "href": "http://meAppServer.example.com/wai/v2/measurements/meas123" + } + }, + "staId": { + "macId": "005C01111111", + "ssid": [ + "myNetworkSsid", + "myOtherNetworkSsid" + ] + }, + "measurementId": "myId1", + "measurementInfo": {} + } + } + } + }, + "parameters": [ + { + "$ref": "#/components/parameters/Path.measurementConfigId" + } + ], + "responses": { + "200": { + "description": "Successful measurement configuration modification", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MeasurementConfig" + }, + "example": { + "_links": { + "self": { + "href": "http://meAppServer.example.com/wai/v2/measurements/123" + } + }, + "staId": { + "macId": "005C01111111", + "ssid": [ + "myNetworkSsid", + "myOtherNetworkSsid" + ] + }, + "measurementId": "myId1", + "measurementInfo": {} + } + } + } + }, + "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": [ + "wai" + ], + "summary": "Cancel a measurement configuration", + "description": "Cancels an existing measurement configuration, identified by its self-referring URI returned on creation (initial POST)", + "operationId": "measurementsDELETE", + "parameters": [ + { + "$ref": "#/components/parameters/Path.measurementConfigId" + } + ], + "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" + } + } + } } }, "components": { @@ -646,6 +992,16 @@ "format": "uri" } }, + "Path.measurementConfigId": { + "name": "measurementConfigId", + "in": "path", + "description": "Measurement configuration Id, specifically the \"self\" returned in the measurement configuration request", + "required": true, + "schema": { + "type": "string", + "format": "uri" + } + }, "Query.Filter": { "name": "filter", "in": "query", @@ -703,7 +1059,7 @@ "Query.SubscriptionType": { "name": "subscription_type", "in": "query", - "description": "Filter on a specific subscription type. Permitted values: assoc_sta, sta_data_rate.", + "description": "Filter on a specific subscription type. Permitted values: assoc_sta, sta_data_rate, measure_report.", "required": false, "schema": { "type": "string" @@ -717,23 +1073,23 @@ "description": "Unique number which identifies a particular association between the station and Access Point.", "type": "string", "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "string" + "x-etsi-mec-origin-type": "String" }, - "ipAddress": { - "description": "IPv4 or IPv6 address allocated for the Access Point.", - "items": { - "type": "string" + "bssid": { + "description": "Basic Service Set Identifier (BSSID) is a unique identifier assigned to the Access Point (as network interface controller) for communications at the data link layer of a network segment. BSSID is typically set to an access point's MAC address.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "ipAddress": { + "description": "IPv4 or IPv6 address allocated for the Access Point.", + "items": { + "type": "string" }, "minItems": 0, "type": "array", "x-etsi-mec-cardinality": "0..N", - "x-etsi-mec-origin-type": "string" - }, - "macId": { - "description": "Unique identifier assigned to the Access Point (as network interface controller) for communications at the data link layer of a network segment.", - "type": "string", - "x-etsi-mec-cardinality": "1", - "x-etsi-mec-origin-type": "string" + "x-etsi-mec-origin-type": "String" }, "ssid": { "description": "Service Set Identifier to identify logical networks.", @@ -747,13 +1103,19 @@ } }, "required": [ - "macId" + "bssid" ], "type": "object", "x-etsi-ref": "6.5.12" }, "ApIdentity": { "properties": { + "bssid": { + "description": "Basic Service Set Identifier (BSSID) is a unique Identifier assigned to an Access Point (as network interface controller) for communications at the data link layer of a network segment. BSSID is typically set to an access point's MAC address.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, "ipAddress": { "description": "IPv4 or IPv6 address allocated for the Access Point.", "items": { @@ -764,14 +1126,8 @@ "x-etsi-mec-cardinality": "0..N", "x-etsi-mec-origin-type": "String" }, - "macId": { - "description": "Unique Identifier assigned to an Access Point (as network interface controller) for communications at the data link layer of a network segment.", - "type": "string", - "x-etsi-mec-cardinality": "1", - "x-etsi-mec-origin-type": "String" - }, "ssid": { - "description": "Service Set Identifier to identify logical networks including Basic Service Set and Extended Service Set.", + "description": "Service Set Identifier (SSID) to identify logical WLAN networks available via the Access Point.", "items": { "type": "string" }, @@ -782,7 +1138,7 @@ } }, "required": [ - "macId" + "bssid" ], "type": "object", "x-etsi-ref": "6.5.3" @@ -795,9 +1151,6 @@ "apLocation": { "$ref": "#/components/schemas/ApLocation" }, - "apNeighbor": { - "$ref": "#/components/schemas/NeighborReport" - }, "bssLoad": { "$ref": "#/components/schemas/BssLoad" }, @@ -811,6 +1164,9 @@ "extBssLoad": { "$ref": "#/components/schemas/ExtBssLoad" }, + "oBssLoad": { + "$ref": "#/components/schemas/OBssLoad" + }, "timeStamp": { "$ref": "#/components/schemas/TimeStamp" }, @@ -891,78 +1247,92 @@ "$ref": "#/components/schemas/ApIdentity" }, "callbackReference": { - "description": "URI selected by the service consumer to receive notifications on the subscribed WLAN 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" + "type": "string" }, "expiryDeadline": { "$ref": "#/components/schemas/TimeStamp" }, + "notificationEvent": { + "description": "Set for trigger-based event notification reporting. ", + "properties": { + "threshold": { + "description": "Number of connected stations threshold for trigger-based event reporting.", + "format": "uint8", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint8" + }, + "trigger": { + "description": "Trigger for the notification:\n1 = Notification issued when the number of connected stations is greater than or equal to the threshold.\n2 = Notification issued when the number of connected stations is less than or equal to the threshold.", + "enum": [ + 1, + 2 + ], + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Enum (inline)" + } + }, + "required": [ + "trigger", + "threshold" + ], + "type": "object", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "Structure (inline)" + }, + "notificationPeriod": { + "description": "Set for periodic notification reporting.\nValue indicates the notification period in seconds.", + "format": "uint8", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "Uint8" + }, + "requestTestNotification": { + "description": "Set to TRUE by the service consumer to request a test notification on the callbackReference URI to determine if it is reachable by the WAIS for notifications.", + "type": "boolean", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "Boolean" + }, "subscriptionType": { "description": "Shall be set to \"AssocStaSubscription\".", "type": "string", "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "String" + }, + "websockNotifConfig": { + "$ref": "#/components/schemas/WebsockNotifConfig" } }, "required": [ "subscriptionType", - "callbackReference", "apId" ], "type": "object", + "x-etsi-notes": "NOTE 1:\tAt least one of callbackReference and websockNotifConfig shall be provided by the service consumer. If both are provided, it is up to WAIS to select the method to be used for notifications and to return only that method in the response.\nNOTE 2:\tAssocStaSubscription shall include either notificationPeriod or notificationEvent.\nNOTE 3:\tIf both notificationPeriod and notificationEvent attributes are set, notifications are issued periodically when the trigger threshold is satisfied.", "x-etsi-ref": "6.3.2" }, - "AssociatedStations": { + "BeaconReport": { "properties": { - "assocId": { - "description": "Unique number which identifies a particular association between an Access Point and a station.", - "type": "string", + "antennaId": { + "description": "The Antenna ID field contains the identifying number for the antenna(s) used for this measurement. Antenna ID is defined in section 9.4.2.40 of IEEE 802.11-2016 [8].", + "format": "uint8", + "type": "integer", "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "string" - }, - "ipAddress": { - "description": "IPv4 or IPv6 address allocated for the station associated with the Access Point.", - "items": { - "type": "string" - }, - "minItems": 0, - "type": "array", - "x-etsi-mec-cardinality": "0..N", - "x-etsi-mec-origin-type": "string" + "x-etsi-mec-origin-type": "Uint8" }, - "macId": { - "description": "Unique identifier assigned to a station (as network interface controller) for communications at the data link layer of a network segment.", + "bssid": { + "description": "Indicates the BSSID of the BSS for which a beacon report has been received.", "type": "string", "x-etsi-mec-cardinality": "1", - "x-etsi-mec-origin-type": "string" - } - }, - "required": [ - "macId" - ], - "type": "object", - "x-etsi-ref": "6.5.5" - }, - "BeaconReport": { - "properties": { - "bssId": { - "description": "The BSSID field indicates the BSSID of the BSS(s) for which a beacon report has been received.", - "items": { - "type": "string" - }, - "minItems": 1, - "type": "array", - "x-etsi-mec-cardinality": "1..N", "x-etsi-mec-origin-type": "String" }, - "channelId": { + "channel": { "description": "Channel number where the beacon was received.", + "format": "uint8", "type": "integer", "x-etsi-mec-cardinality": "1", - "x-etsi-mec-origin-type": "Integer" + "x-etsi-mec-origin-type": "Uint8" }, "measurementId": { "description": "Measurement ID of the Measurement configuration applied to this Beacon Report.", @@ -970,20 +1340,41 @@ "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "String" }, - "reportingCondition": { - "description": "As in table T9-89 of IEEE 802.11-2012 [8].", + "operatingClass": { + "description": "Operating Class field indicates an operating class value as defined in Annex E within IEEE 802.11-2016 [8].", + "format": "uint8", "type": "integer", "x-etsi-mec-cardinality": "1", - "x-etsi-mec-origin-type": "Integer" + "x-etsi-mec-origin-type": "Uint8" }, - "ssId": { - "description": "(Optional) The SSID subelement indicates the ESS(s) or IBSS(s) for which a beacon report is received.", - "items": { - "type": "string" - }, - "minItems": 1, - "type": "array", - "x-etsi-mec-cardinality": "1..N", + "parentTsf": { + "description": "The Parent TSF field contains the lower 4 octets of the measuring STA's TSF timer value at the start of reception of the first octet of the timestamp field of the reported Beacon, Measurement Pilot, or Probe Response frame at the time the Beacon, Measurement Pilot, or Probe Response frame being reported was received.", + "format": "uint32", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "Uint32" + }, + "rcpi": { + "description": "RCPI indicates the received channel power of the Beacon, Measurement Pilot, or Probe Response frame, which is a logarithmic function of the received signal power, as defined in section 9.4.2.38 of IEEE 802.11-2016 [8].", + "format": "uint8", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "Uint8" + }, + "reportedFrameInfo": { + "$ref": "#/components/schemas/ReportedBeaconFrameInfo" + }, + "rsni": { + "description": "RSNI indicates the received signal-to-noise indication for the Beacon, Measurement Pilot, or Probe Response frame, as described in section 9.4.2.41 of IEEE 802.11-2016 [8].", + "format": "uint8", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "Uint8" + }, + "ssid": { + "description": "The SSID subelement indicates the ESS or IBSS for which a beacon report is received.", + "type": "string", + "x-etsi-mec-cardinality": "0..1", "x-etsi-mec-origin-type": "String" }, "staId": { @@ -991,71 +1382,137 @@ } }, "required": [ - "staId", "measurementId", - "channelId", - "bssId", - "ssId", - "reportingCondition" + "operatingClass", + "channel", + "reportedFrameInfo", + "bssid" ], "type": "object", "x-etsi-ref": "6.5.27" }, + "BeaconReportingConfig": { + "properties": { + "reportingCondition": { + "description": "Reporting condition for the Beacon Report as per Table 9-89 of IEEE 802.11-2016 [8]:\n0 = Report to be issued after each measurement.\n1 = measured RCPI level is greater than the threshold.\n2 = measured RCPI level is less than the threshold.\n3 = measured RSNI level is greater than the threshold.\n4 = measured RSNI level is less than the threshold.\n5 = measured RCPI level is greater than a threshold defined by an offset from the serving AP's reference RCPI.\n6 = measured RCPI level is less than a threshold defined by an offset from the serving AP's reference RCPI.\n7 = measured RSNI level is greater than a threshold defined by an offset from the serving AP's reference RSNI.\n8 = measured RSNI level is less than a threshold defined by an offset from the serving AP's reference RSNI.\n9 = measured RCPI level is in a range bound by the serving AP's reference RCPI and an offset from the serving AP's reference RCPI.\n10 = measured RSNI level is in a range bound by the serving AP's reference RSNI and an offset from the serving AP's reference RSNI.", + "format": "uint8", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint8" + }, + "threshold": { + "description": "The threshold subfield contains either the threshold value or the offset value to be used for conditional reporting.\n\nFor reportingCondition subfield with values 1 and 2, the threshold value is a logarithmic function of the received signal power, as defined in section 9.4.2.38 of IEEE 802.11-2016 [8].\n\nFor reportingCondition subfield values 3 and 4, the threshold value is a logarithmic function of the signal-to-noise ratio, as described in section 9.4.2.41 of IEEE 802.11-2016 [8].\n\nFor reportingCondition subfield values 5 to 10, the offset value is an 8-bit 2s complement integer in units of 0,5 dBm. The indicated reporting condition applies individually to each measured Beacon, Measurement Pilot, or Probe Response frame.", + "format": "uint8", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint8" + } + }, + "required": [ + "reportingCondition", + "threshold" + ], + "type": "object", + "x-etsi-ref": "6.5.28" + }, "BeaconRequestConfig": { "properties": { - "bssId": { - "description": "The BSSID field indicates the BSSID of the BSS(s) for which a beacon report is requested. When requesting beacon reports for all BSSs on the channel, the BSSID field contains the wildcard BSSID.", - "items": { - "type": "string" - }, - "minItems": 1, - "type": "array", - "x-etsi-mec-cardinality": "1..N", + "beaconReportingConf": { + "$ref": "#/components/schemas/BeaconReportingConfig" + }, + "bssid": { + "description": "The BSSID field indicates the BSS for which a beacon report is requested. If absent, the requested beacon reports should include all BSSs on the channel.", + "type": "string", + "x-etsi-mec-cardinality": "0..1", "x-etsi-mec-origin-type": "String" }, "channelId": { - "description": "Channel number to scan. A Channel Number of 0 indicates a request to make iterative measurements for all supported channels in the Operating Class where the measurement is permitted on the channel and the channel is valid for the current regulatory domain. A Channel Number of 255 indicates a request to make iterative measurements for all supported channels in the current Operating Class listed in the latest AP Channel Report received from the serving AP.", + "description": "Channel number to scan. A Channel Number of 0 indicates a request to make iterative measurements for all supported channels in the Operating Class where the measurement is permitted on the channel and the channel is valid for the current regulatory domain. A Channel Number of 255 indicates a request to make iterative measurements for all supported channels in the current Operating Class listed in the latest AP Channel Report received from the serving AP.", + "format": "uint8", "type": "integer", "x-etsi-mec-cardinality": "1", - "x-etsi-mec-origin-type": "Integer" + "x-etsi-mec-origin-type": "Uint8" }, "measurementMode": { "description": "0 for passive.\n1 for active.\n2 for beacon table.", + "format": "uint8", "type": "integer", "x-etsi-mec-cardinality": "1", - "x-etsi-mec-origin-type": "Integer" + "x-etsi-mec-origin-type": "Uint8" }, - "reportingCondition": { - "description": "As in table T9-89 of IEEE 802.11-2012 [8].", + "operatingClass": { + "description": "Operating Class field indicates an operating class value as defined in Annex E within IEEE 802.112016 [8].", + "format": "uint8", "type": "integer", "x-etsi-mec-cardinality": "1", - "x-etsi-mec-origin-type": "Integer" + "x-etsi-mec-origin-type": "Uint8" }, - "ssId": { - "description": "(Optional) The SSID subelement indicates the ESS(s) or IBSS(s) for which a beacon report is requested.", - "items": { - "type": "string" - }, - "minItems": 1, - "type": "array", - "x-etsi-mec-cardinality": "1..N", + "ssid": { + "description": "The SSID subelement indicates the ESS or IBSS for which a beacon report is requested.", + "type": "string", + "x-etsi-mec-cardinality": "0..1", "x-etsi-mec-origin-type": "String" - }, - "staId": { - "$ref": "#/components/schemas/StaIdentity" } }, "required": [ - "staId", + "operatingClass", "channelId", "measurementMode", - "bssId", - "ssId", - "reportingCondition" + "beaconReportingConf" ], "type": "object", "x-etsi-ref": "6.5.25" }, + "BssCapabilities": { + "properties": { + "apsd": { + "description": "APSD Option implemented", + "type": "boolean", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Boolean" + }, + "delayedBACK": { + "description": "Delayed Block Ack Option implemented", + "type": "boolean", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Boolean" + }, + "immediateBACK": { + "description": "Immediate Block Ack Option implemented", + "type": "boolean", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Boolean" + }, + "qos": { + "description": "QoS Option implemented", + "type": "boolean", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Boolean" + }, + "radioMeasurements": { + "description": "Radio Measurement Activated", + "type": "boolean", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Boolean" + }, + "spectrumManagement": { + "description": "Spectrum Management required", + "type": "boolean", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Boolean" + } + }, + "required": [ + "spectrumManagement", + "qos", + "apsd", + "radioMeasurements", + "delayedBACK", + "immediateBACK" + ], + "type": "object", + "x-etsi-ref": "6.5.31" + }, "BssLoad": { "properties": { "availAdmCap": { @@ -1088,63 +1545,179 @@ "type": "object", "x-etsi-ref": "6.5.7" }, - "ChannelLoadConfig": { + "BssidInfo": { "properties": { - "apId": { - "$ref": "#/components/schemas/ApIdentity" - }, - "cChannelId": { - "description": "Channel number which load is reported", + "apReachability": { + "description": "The apReachability field indicates whether the AP identified by this BSSID is reachable by the STA that requested the neighbor report. Valid values:\n0 = reserved\n1 = not reachable\n2 = unknown\n3 = reachable.", + "format": "uint8", "type": "integer", "x-etsi-mec-cardinality": "1", - "x-etsi-mec-origin-type": "Integer" + "x-etsi-mec-origin-type": "Uint8" }, - "channelLoad": { - "description": "Channel load as per IEEE 802.11-2012 [8], section 11.11.9.3", - "type": "integer", + "capabilities": { + "$ref": "#/components/schemas/BssCapabilities" + }, + "ftm": { + "description": "True indicates the AP represented by this BSSID is an AP that has set the Fine Timing Measurement Responder field of the Extended Capabilities element to 1.\n\nFalse indicates either that the reporting AP has dot11FineTimingMsmtRespActivated equal to false, or the reported AP has not set the Fine Timing Measurement Responder field of the Extended Capabilities element to 1 or that the Fine Timing Measurement Responder field of the reported AP is not available to the reporting AP at this time.", + "type": "boolean", "x-etsi-mec-cardinality": "1", - "x-etsi-mec-origin-type": "Integer" + "x-etsi-mec-origin-type": "Boolean" + }, + "highThroughput": { + "description": "True indicates that the AP represented by this BSSID is an HT AP including the HT Capabilities element in its Beacons, and that the contents of that HT Capabilities element are identical to the HT Capabilities element advertised by the AP sending the report.", + "type": "boolean", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Boolean" + }, + "mobilityDomain": { + "description": "True indicates the AP represented by this BSSID is including an MDE in its Beacon frames and that the contents of that MDE are identical to the MDE advertised by the AP sending the report.", + "type": "boolean", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Boolean" + }, + "security": { + "description": "True indicates the AP identified by this BSSID supports the same security provisioning as used by the STA in its current association.\n\nFalse indicates either that the AP does not support the same security provisioning or that the security information is not available at this time.", + "type": "boolean", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Boolean" + }, + "veryHighThroughput": { + "description": "True indicates that the AP represented by this BSSID is a VHT AP and that the VHT Capabilities element, if included as a subelement in the report, is identical in content to the VHT Capabilities element included in the AP's Beacon.", + "type": "boolean", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Boolean" } }, "required": [ - "apId", - "cChannelId", - "channelLoad" + "apReachability", + "security", + "capabilities", + "mobilityDomain", + "highThroughput", + "veryHighThroughput", + "ftm" ], "type": "object", - "x-etsi-ref": "6.5.24" + "x-etsi-ref": "6.5.30" }, - "CivicLocation": { + "ChannelLoad": { "properties": { - "ca0": { - "description": "Language", - "type": "string", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "String" + "channel": { + "description": "Channel number indicates the channel number for which the measurement report applies.", + "format": "uint8", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint8" }, - "ca1": { - "description": "National subdivisions (state, canton, region,province, prefecture) ", - "type": "string", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "String" + "channelLoad": { + "description": "Proportion of measurement duration for which the measuring STA determined the channel to be busy, as a percentage of time, linearly scaled with 255 representing 100 %.", + "format": "uint8", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint8" }, - "ca128": { - "description": "Script", - "type": "string", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "String" + "measurementDuration": { + "description": "Duration over which the Channel Load report was measured, in units of TUs of 1 024 µs.", + "format": "uint8", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint8" }, - "ca16": { - "description": "Leading street direction", + "measurementId": { + "description": "Measurement ID of the Measurement configuration applied to this Channel Load Report.", "type": "string", - "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "String" }, - "ca17": { - "description": "Trailing street suffix", - "type": "string", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "String" + "operatingClass": { + "description": "Operating Class field indicates an operating class value as defined in Annex E within IEEE 802.11-2016 [8].", + "format": "uint8", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint8" + }, + "staId": { + "$ref": "#/components/schemas/StaIdentity" + } + }, + "required": [ + "measurementId", + "operatingClass", + "channel", + "measurementDuration", + "channelLoad" + ], + "type": "object", + "x-etsi-ref": "6.5.39" + }, + "ChannelLoadConfig": { + "properties": { + "channel": { + "description": "Channel for which the channel load report is requested.", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Integer" + }, + "operatingClass": { + "description": "Operating Class field indicates an operating class value as defined in Annex E within IEEE 802.11-2016 [8].", + "format": "uint8", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint8" + }, + "reportingCondition": { + "description": "Reporting condition for the Beacon Report as per Table 9-153 of IEEE 802.11-2016 [8]:\n0 = Report to be issued after each measurement.\n1 = Report to be issued when Channel Load is greater than or equal to the threshold.\n2 = Report to be issued when Channel Load is less than or equal to the threshold.\n\nIf this optional field is not provided, channel load report should be issued after each measurement (reportingCondition = 0).", + "format": "uint8", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "Uint8" + }, + "threshold": { + "description": "Channel Load reference value for threshold reporting. This field shall be provided for reportingCondition values 1 and 2.", + "format": "uint8", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "Uint8" + } + }, + "required": [ + "operatingClass", + "channel" + ], + "type": "object", + "x-etsi-ref": "6.5.24" + }, + "CivicLocation": { + "properties": { + "ca0": { + "description": "Language", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "String" + }, + "ca1": { + "description": "National subdivisions (state, canton, region, province, prefecture) ", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "String" + }, + "ca128": { + "description": "Script", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "String" + }, + "ca16": { + "description": "Leading street direction", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "String" + }, + "ca17": { + "description": "Trailing street suffix", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "String" }, "ca18": { "description": "Street suffix or type", @@ -1324,60 +1897,46 @@ "DmgCapabilities": { "properties": { "ExtScMcsCap": { - "description": "Extended SC MCS capabilities as defined in draft IEEE P802.11/D4.0 [i.11]", + "description": "Extended SC MCS capabilities as defined in IEEE 802.11-2016 [8].", "format": "uint8", "type": "integer", "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint8" }, "dmgApOrPcpCapInfo": { - "description": "DMG AP or PCP capabilities information as defined in draft IEEE P802.11/D4.0 [i.11]", + "description": "DMG AP or PCP capabilities information as defined in IEEE 802.11-2016 [8].", "format": "uint16", "type": "integer", "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint16" }, "dmgStaBeamTrackTimeLimit": { - "description": "DMG station beam tracking time limit as defined in draft IEEE P802.11/D4.0 [i.11]", + "description": "DMG station beam tracking time limit as defined in IEEE 802.11-2016 [8]. ", "format": "uint16", "type": "integer", "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint16" }, "dmgStaCapInfo": { - "description": "DMG station capabilities information as defined in draft IEEE P802.11/D4.0 [i.11]", - "format": "int64", + "description": "DMG station capabilities information as defined in IEEE 802.11-2016 [8]. ", + "format": "uint64", "type": "integer", "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint64" }, "maxNrBasicAmsduSubframes": { - "description": "Number of basic A-MSDU subframes in A-MSDU as defined in draft IEEE P802.11/D4.0 [i.11]", + "description": "Number of basic A-MSDU subframes in A-MSDU as defined in IEEE 802.11-2016 [8].", "format": "uint8", "type": "integer", "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint8" }, "maxNrShortAmsduSubframes": { - "description": "Number of short A-MSDU subframes in A-MSDU as defined in draft IEEE P802.11/D4.0 [i.11]", - "format": "uint8", - "type": "integer", - "x-etsi-mec-cardinality": "1", - "x-etsi-mec-origin-type": "Uint8" - }, - "sarCap": { - "description": "SAR capabilities as defined in draft IEEE P802.11/D4.0 [i.11]", + "description": "Number of short A-MSDU subframes in A-MSDU as defined in IEEE 802.11-2016 [8].", "format": "uint8", "type": "integer", "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint8" - }, - "tddCap": { - "description": "TDD capabilities as defined in draft IEEE P802.11/D4.0 [i.11]", - "format": "uint16", - "type": "integer", - "x-etsi-mec-cardinality": "1", - "x-etsi-mec-origin-type": "Uint16" } }, "required": [ @@ -1386,9 +1945,7 @@ "dmgStaBeamTrackTimeLimit", "ExtScMcsCap", "maxNrBasicAmsduSubframes", - "maxNrShortAmsduSubframes", - "tddCap", - "sarCap" + "maxNrShortAmsduSubframes" ], "type": "object", "x-etsi-ref": "6.5.17" @@ -1396,28 +1953,21 @@ "EdmgCapabilities": { "properties": { "ampduParameters": { - "description": "A-MPDU parameters as defined in draft IEEE P802.11/D4.0 [i.11]", + "description": "A-MPDU parameters as defined in draft IEEE P802.11ay [i.11]", "format": "uint8", "type": "integer", "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint8" }, - "reserved": { - "description": "", - "format": "uint8", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint8" - }, "supportedMcs": { - "description": "Supported MCS as defined in draft IEEE P802.11/D4.0 [i.11]", + "description": "Supported MCS as defined in draft IEEE P802.11ay [i.11]", "format": "uint32", "type": "integer", "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint32" }, "trnParameters": { - "description": "Training parameters as defined in draft IEEE P802.11/D4.0 [i.11]", + "description": "Training parameters as defined in draft IEEE P802.11ay [i.11]", "format": "uint16", "type": "integer", "x-etsi-mec-cardinality": "1", @@ -1432,6 +1982,40 @@ "type": "object", "x-etsi-ref": "6.5.18" }, + "ExpiryNotification": { + "properties": { + "_links": { + "description": "Hyperlink related to the resource.", + "properties": { + "subscription": { + "$ref": "#/components/schemas/LinkType" + } + }, + "required": [ + "subscription" + ], + "type": "object", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Structure (inlined)" + }, + "expiryDeadline": { + "$ref": "#/components/schemas/TimeStamp" + }, + "notificationType": { + "description": "Shall be set to \"ExpiryNotification\".", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "notificationType", + "_links", + "expiryDeadline" + ], + "type": "object", + "x-etsi-ref": "6.4.4" + }, "ExtBssLoad": { "properties": { "muMimoStaCount": { @@ -1512,7 +2096,7 @@ }, "lat": { "description": "The latitude value of location as defined in IETF RFC 6225 [6]", - "format": "int64", + "format": "uint64", "type": "integer", "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint64" @@ -1526,7 +2110,7 @@ }, "long": { "description": "The longitude value of location as defined in IETF RFC 6225 [6]", - "format": "int64", + "format": "uint64", "type": "integer", "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint64" @@ -1565,12 +2149,6 @@ "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint8" }, - "ppeThresholds": { - "description": "PPE Threshold determines the nominal packet padding value for a HE PPDU.", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "not defined" - }, "supportedHeMcsNssSet": { "description": "Supported MCS and NSS Set.", "format": "uint8", @@ -1644,38 +2222,41 @@ "x-etsi-ref": "6.5.14" }, "InlineNotification": { + "discriminator": { + "propertyName": "notificationType" + }, "oneOf": [ { "$ref": "#/components/schemas/AssocStaNotification" }, { "$ref": "#/components/schemas/StaDataRateNotification" + }, + { + "$ref": "#/components/schemas/MeasurementReportNotification" } - ], - "discriminator": { - "propertyName": "notificationType" - } + ] }, "InlineSubscription": { + "discriminator": { + "propertyName": "subscriptionType" + }, "oneOf": [ { "$ref": "#/components/schemas/AssocStaSubscription" }, { "$ref": "#/components/schemas/StaDataRateSubscription" + }, + { + "$ref": "#/components/schemas/MeasurementReportSubscription" } - ], - "discriminator": { - "propertyName": "subscriptionType" - } + ] }, "LinkType": { "properties": { "href": { - "description": "URI referring to a resource", - "type": "string", - "x-etsi-mec-cardinality": "1", - "x-etsi-mec-origin-type": "String" + "type": "string" } }, "required": [ @@ -1686,115 +2267,407 @@ }, "MeasurementConfig": { "properties": { - "beaconRequest": { - "$ref": "#/components/schemas/BeaconRequestConfig" - }, - "channelLoad": { - "$ref": "#/components/schemas/ChannelLoadConfig" - }, - "measurementDuration": { - "description": "Duration of the measurement, shall be lower than Maximum Measurement Duration in TU as defined in section 11.11.4 of IEEE 802.11 [8].", - "type": "integer", - "x-etsi-mec-cardinality": "1", - "x-etsi-mec-origin-type": "Integer" + "_links": { + "description": "Hyperlink related to the resource.", + "properties": { + "self": { + "$ref": "#/components/schemas/LinkType" + } + }, + "required": [ + "self" + ], + "type": "object", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "Structure (inlined)" }, "measurementId": { - "description": "Identifier of this measurement configuration.", + "description": "Unique identifier allocated by the service consumer to identify measurement reports (within sta_information query), associated with this measurement configuration.", "type": "string", "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "String" }, - "randomnInterval": { - "description": "Random interval to be used for starting the measurement. In units of TU as specifed in section 11.11.3 of IEEE 802.11 [8].", - "type": "integer", - "x-etsi-mec-cardinality": "1", - "x-etsi-mec-origin-type": "Integer" + "measurementInfo": { + "$ref": "#/components/schemas/MeasurementInfo" }, - "staStatistics": { - "$ref": "#/components/schemas/StaStatisticsConfig" + "staId": { + "description": "Identifier(s) to uniquely specify the target client station(s) for the measurement configuration.", + "items": { + "$ref": "#/components/schemas/StaIdentity" + }, + "minItems": 1, + "type": "array", + "x-etsi-mec-cardinality": "1..N", + "x-etsi-mec-origin-type": "StaIdentity" } }, "required": [ + "staId", "measurementId", - "measurementDuration", - "randomnInterval" + "measurementInfo" ], "type": "object", - "x-etsi-notes": "NOTE:\tThis element enables the configuration of the channelLoad, beaconRequest and staStatistics in a single resource data type, although only one of each measurement. Multiple measurement configurations of each kind are not allowed.", "x-etsi-ref": "6.2.4" }, - "NeighborReport": { + "MeasurementConfigLinkList": { "properties": { - "bssid": { - "description": "BSS Id of the Access Point that is being reported.", - "type": "string", - "x-etsi-mec-cardinality": "1", - "x-etsi-mec-origin-type": "String" - }, - "bssidInfo": { - "description": "Additional information related to Access Point that is being reported such as AP reachability, security, key scope, Mobility Domain, HT/VHT capability and Fine Time Measurements.", - "format": "uint32", - "type": "integer", - "x-etsi-mec-cardinality": "1", - "x-etsi-mec-origin-type": "UInt32" - }, - "channel": { - "description": "The channel currently used by this Access Point.", - "format": "uint8", - "type": "integer", - "x-etsi-mec-cardinality": "1", - "x-etsi-mec-origin-type": "Uint8" - }, - "operatingClass": { - "description": "The channel set of the AP indicated by this BSSID.", - "format": "uint8", - "type": "integer", + "_links": { + "description": "Hyperlink related to the resource.", + "properties": { + "self": { + "$ref": "#/components/schemas/LinkType" + } + }, + "required": [ + "self" + ], + "type": "object", "x-etsi-mec-cardinality": "1", - "x-etsi-mec-origin-type": "Uint8" + "x-etsi-mec-origin-type": "Structure (inlined)" }, - "phyType": { - "description": "PHY type of the AP indicated by this BSSID. It is an integer value coded according to the value of the dot11PHYType.", - "format": "uint8", - "type": "integer", - "x-etsi-mec-cardinality": "1", - "x-etsi-mec-origin-type": "Uint8" + "measurementConfig": { + "description": "", + "items": { + "properties": { + "href": { + "description": "The URI referring to a measurement configuration.", + "format": "uri", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "URI" + }, + "measurementId": { + "description": "Unique identifier allocated by the service consumer to identify measurement reports associated with this measurement configuration.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "href", + "measurementId" + ], + "type": "object" + }, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "Structure (inlined)" } }, "required": [ - "bssid", - "bssidInfo", - "operatingClass", - "channel", - "phyType" + "_links" ], "type": "object", - "x-etsi-ref": "6.5.10" + "x-etsi-ref": "6.2.5" }, - "ProblemDetails": { + "MeasurementInfo": { "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" + "beaconRequestConf": { + "$ref": "#/components/schemas/BeaconRequestConfig" }, - "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" + "channelLoadConf": { + "$ref": "#/components/schemas/ChannelLoadConfig" }, - "status": { - "description": "The HTTP status code for this occurrence of the problem", - "format": "uint32", + "measurementDuration": { + "description": "Duration of the measurement in Time Units (TUs) of 1 024 µs, as defined in section 11.11.4 of IEEE 802.11-2016 [8]. If not provided, the underlying system may utilize a default configuration that will be indicated in resulting measurement reports.", + "format": "uint16", "type": "integer", "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" + "x-etsi-mec-origin-type": "Uint16" }, - "title": { - "description": "A short, human-readable summary of the problem type", - "type": "string", + "neighborReportConf": { + "$ref": "#/components/schemas/NeighborReportConfig" + }, + "randomInterval": { + "description": "Random interval to be used for starting the measurement in TUs of 1 024 µs, as specified in section 11.11.3 of IEEE 802.11-2016 [8]. If not provided, the underlying system may utilize a default configuration that will be indicated in resulting measurement reports.", + "format": "uint16", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "Uint16" + }, + "staStatisticsConf": { + "$ref": "#/components/schemas/StaStatisticsConfig" + } + }, + "type": "object", + "x-etsi-notes": "NOTE 1:\tOnly one of channelLoadConf, beaconRequestConf, staStatisticsConf or neighborReportConf is allowed in a MeasurementInfo instance.\nNOTE 2:\tAs per IEEE 802.11-2016 [8], measurementDuration and randomInterval apply to channelLoad, beaconRequest, staStatistics, and neighborReport configurations.", + "x-etsi-ref": "6.5.41" + }, + "MeasurementReportNotification": { + "properties": { + "beaconReport": { + "description": "Beacon Report as defined in IEEE 802.11-2016 [8].", + "items": { + "$ref": "#/components/schemas/BeaconReport" + }, + "minItems": 0, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "BeaconReport" + }, + "channelLoad": { + "description": "Channel Load reports as seen by the station as defined in IEEE 802.11-2016 [8].", + "items": { + "$ref": "#/components/schemas/ChannelLoad" + }, + "minItems": 0, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "ChannelLoad" + }, + "neighborReport": { + "description": "Neighbor Report providing information about neighbor Access Points seen by the station as defined in IEEE 802.112016 [8].", + "items": { + "$ref": "#/components/schemas/NeighborReport" + }, + "minItems": 0, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "NeighborReport" + }, + "notificationType": { + "description": "Shall be set to \"MeasurementReportNotification\".", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "staStatistics": { + "description": "STA Statistics Report as defined in IEEE 802.11-2016 [8].", + "items": { + "$ref": "#/components/schemas/StaStatistics" + }, + "minItems": 0, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "StaStatistics" + }, + "timeStamp": { + "$ref": "#/components/schemas/TimeStamp" + } + }, + "required": [ + "notificationType" + ], + "type": "object", + "x-etsi-notes": "NOTE 1:\tEach MeasurementReportNotification shall include a single measurement report type (channelLoad, beaconRequest, etc.), based on the MeasurementReportSubscription.\nNOTE 2:\tA single MeasurementReportNotification may include multiple measurement reports (of the same type), if the MeasurementReportSubscription configured the measurement report for several client stations and multiple reports are available to WAIS.", + "x-etsi-ref": "6.4.5" + }, + "MeasurementReportSubscription": { + "properties": { + "_links": { + "description": "Hyperlink related to the resource. This shall be only included in the HTTP responses and in HTTP PUT requests.", + "properties": { + "self": { + "$ref": "#/components/schemas/LinkType" + } + }, + "required": [ + "self" + ], + "type": "object", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "Structure (inlined)" + }, + "callbackReference": { + "type": "string" + }, + "expiryDeadline": { + "$ref": "#/components/schemas/TimeStamp" + }, + "measurementId": { + "description": "Unique identifier allocated by the service consumer to identify measurement reports associated with this measurement subscription.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "measurementInfo": { + "$ref": "#/components/schemas/MeasurementInfo" + }, + "requestTestNotification": { + "description": "Set to TRUE by the service consumer to request a test notification on the callbackReference URI to determine if it is reachable by the WAIS for notifications.", + "type": "boolean", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "Boolean" + }, + "staId": { + "description": "Identifier(s) to uniquely specify the target client station(s) for the subscription.", + "items": { + "$ref": "#/components/schemas/StaIdentity" + }, + "minItems": 1, + "type": "array", + "x-etsi-mec-cardinality": "1..N", + "x-etsi-mec-origin-type": "StaIdentity" + }, + "subscriptionType": { + "description": "Shall be set to \"MeasurementReportSubscription\".", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "websockNotifConfig": { + "$ref": "#/components/schemas/WebsockNotifConfig" + } + }, + "required": [ + "subscriptionType", + "staId", + "measurementId", + "measurementInfo" + ], + "type": "object", + "x-etsi-notes": "NOTE:\tAt least one of callbackReference and websockNotifConfig shall be provided by the service consumer. If both are provided, it is up to WAIS to select the method to be used for notifications and to return only that method in the response.", + "x-etsi-ref": "6.3.5" + }, + "NeighborReport": { + "properties": { + "bssTransitionCandidatePreference": { + "description": "Relative value indicating the preferred ordering for this BSS as a transition candidate for roaming. 255 indicating the most preferred candidate and 1 indicating the least preferred candidate, as defined in Table 9-152 within IEEE 802.112016 [8].", + "format": "uint8", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "Uint8" + }, + "bssid": { + "description": "BSSID (MAC address) of the Access Point that is being reported.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "bssidInfo": { + "$ref": "#/components/schemas/BssidInfo" + }, + "channel": { + "description": "Channel field indicates a channel number, which is interpreted in the context of the indicated operating class. Channel numbers are defined in Annex E within IEEE 802.11-2016 [8].", + "format": "uint8", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint8" + }, + "measurementId": { + "description": "Measurement ID of the Measurement configuration applied to this Neighbor Report.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "operatingClass": { + "description": "Operating Class field indicates an operating class value as defined in Annex E within IEEE 802.11-2016 [8].", + "format": "uint8", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint8" + }, + "phyType": { + "description": "PHY type of the AP indicated by this BSSID. It is an integer value coded according to the value of the dot11PHYType, Annex C within IEEE 802.11-2016 [8].\n2 = dsss\n4 = ofdm\n5 = hrdsss\n6 = erp\n7 = ht\n8 = dmg\n9 = vht\n10 = tvht", + "format": "uint8", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint8" + }, + "staId": { + "$ref": "#/components/schemas/StaIdentity" + } + }, + "required": [ + "measurementId", + "bssid", + "bssidInfo", + "operatingClass", + "channel", + "phyType" + ], + "type": "object", + "x-etsi-ref": "6.5.10" + }, + "NeighborReportConfig": { + "properties": { + "bssid": { + "description": "BSSID of the neighbor AP which information is intended to obtain. If no specific BSSID is given, the information will be provided for all APs matching the ssid criteria.", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "String" + }, + "ssid": { + "description": "The SSID field is optionally present. If present, it contains an SSID element. The presence of an SSID element in a Neighbor Report indicates a request for a neighbor list for the specified SSID in the SSID Element. The absence of an SSID element indicates neighbor report for the current ESS.", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "String" + } + }, + "type": "object", + "x-etsi-notes": "NOTE:\tBoth SSID and BSSID are optional configuration parameters. BSSID is valid when a SSID setting is provided, otherwise ignored. If SSID is not included, the neighbor report will be generated for the SSID (i.e. current ESS) that the station is associated.", + "x-etsi-ref": "6.5.32" + }, + "OBssLoad": { + "properties": { + "allocatedTrafficSelfMean": { + "description": "Mean of allocated traffic from this AP (BSS) in units of 32 µs per second.", + "format": "uint16", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint16" + }, + "allocatedTrafficSelfStdDev": { + "description": "Standard deviation from the mean of allocation traffic from this BSS in units of 32 µs per second.", + "format": "uint16", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "Uint16" + }, + "allocatedTrafficShareMean": { + "description": "Mean of the sum of allocated traffic from other APs on the overlapping channel in unit of 32 µs per second.", + "format": "uint16", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint16" + }, + "allocatedTrafficShareStdDev": { + "description": "Standard deviation from the mean of the sum of allocated traffic from other APs on the overlapping channel in unit of 32 µs per second.", + "format": "uint16", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "Uint16" + }, + "overlap": { + "description": "Indicates the number of other APs that are sharing the same channel as the reporting AP.", + "format": "uint8", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "Uint8" + } + }, + "required": [ + "allocatedTrafficSelfMean", + "allocatedTrafficShareMean" + ], + "type": "object", + "x-etsi-ref": "6.5.40" + }, + "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" }, @@ -1808,6 +2681,144 @@ }, "type": "object" }, + "ReportedBeaconFrameInfo": { + "properties": { + "frameType": { + "description": "A value of 0 indicates a Beacon or Probe Response.\nA value of 1 indicates a Measurement Pilot frame.", + "format": "uint8", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint8" + }, + "phyType": { + "description": "Value between 0 and 127 coded according to dot11PHYType.", + "format": "uint8", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint8" + } + }, + "required": [ + "phyType", + "frameType" + ], + "type": "object", + "x-etsi-ref": "6.5.29" + }, + "ReportingReasonQoSCounters": { + "properties": { + "qosAckFailure": { + "description": "dot11QoSAckFailure", + "type": "boolean", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Boolean" + }, + "qosDiscarded": { + "description": "dot11QoSDiscarded", + "type": "boolean", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Boolean" + }, + "qosFailed": { + "description": "dot11QoSFailed ", + "type": "boolean", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Boolean" + }, + "qosFrameDuplicate": { + "description": "dot11QoSFrameDuplicate", + "type": "boolean", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Boolean" + }, + "qosMultipleRetry": { + "description": "dot11QoSMultipleRetry", + "type": "boolean", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Boolean" + }, + "qosRetry": { + "description": "dot11QoSRetry", + "type": "boolean", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Boolean" + }, + "qosRtsFailure": { + "description": "dot11QoSRTSFailure", + "type": "boolean", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Boolean" + } + }, + "required": [ + "qosFailed", + "qosRetry", + "qosMultipleRetry", + "qosFrameDuplicate", + "qosRtsFailure", + "qosAckFailure", + "qosDiscarded" + ], + "type": "object", + "x-etsi-ref": "6.5.38" + }, + "ReportingReasonStaCounters": { + "properties": { + "ackFailure": { + "description": "dot11AckFailure", + "type": "boolean", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Boolean" + }, + "failed": { + "description": "dot11Failed", + "type": "boolean", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Boolean" + }, + "fcsError": { + "description": "dot11FCSError ", + "type": "boolean", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Boolean" + }, + "frameDuplicate": { + "description": "dot11FrameDuplicate ", + "type": "boolean", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Boolean" + }, + "multipleRetry": { + "description": "dot11MultipleRetry", + "type": "boolean", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Boolean" + }, + "retry": { + "description": "dot11Retry", + "type": "boolean", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Boolean" + }, + "rtsFailure": { + "description": "dot11RTSFailure", + "type": "boolean", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Boolean" + } + }, + "required": [ + "failed", + "fcsError", + "multipleRetry", + "frameDuplicate", + "rtsFailure", + "ackFailure", + "retry" + ], + "type": "object", + "x-etsi-ref": "6.5.37" + }, "Rssi": { "properties": { "rssi": { @@ -1822,7 +2833,62 @@ "rssi" ], "type": "object", - "x-etsi-ref": "6.5.21" + "x-etsi-ref": "6.5.21" + }, + "STACounterTriggerCondition": { + "properties": { + "ackFailureCountThreshold": { + "description": "Configure and set threshold for dot11AckFailureCount trigger", + "format": "uint32", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "Uint32" + }, + "failedCountThreshold": { + "description": "Configure and set threshold for dot11FailedCount trigger", + "format": "uint32", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "Uint32" + }, + "fcsErrorCountThreshold": { + "description": "Configure and set threshold for dot11FCSErrorCount trigger", + "format": "uint32", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "Uint32" + }, + "frameDuplicateCountThreshold": { + "description": "Configure and set threshold for dot11FrameDuplicateCount trigger", + "format": "uint32", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "Uint32" + }, + "multipleRetryCountThreshold": { + "description": "Configure and set threshold for dot11MultipleRetryCount trigger", + "format": "uint32", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "Uint32" + }, + "retryCountThreshold": { + "description": "Configure and set threshold for dot11RetryCount trigger", + "format": "uint32", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "Uint32" + }, + "rtsFailureCountThreshold": { + "description": "Configure and set threshold for dot11RTSFailureCount trigger", + "format": "uint32", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "Uint32" + } + }, + "type": "object", + "x-etsi-ref": "6.5.33" }, "StaDataRate": { "properties": { @@ -1845,6 +2911,7 @@ } }, "type": "object", + "x-etsi-notes": "NOTE:\tStaDataRate shall include at least one instance of either downlink rate or uplink rate and may include both.\n If this report is contained within a data type that provides the station's identifier, staId field may be omitted", "x-etsi-ref": "6.5.22" }, "StaDataRateNotification": { @@ -1892,17 +2959,67 @@ "x-etsi-mec-origin-type": "Structure (inlined)" }, "callbackReference": { - "description": "URI selected by the service consumer to receive notifications on the subscribed WLAN Access Information Service. 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" + "type": "string" }, "expiryDeadline": { "$ref": "#/components/schemas/TimeStamp" }, + "notificationEvent": { + "description": "Set for trigger-based event notification reporting.", + "properties": { + "downlinkRateThreshold": { + "description": "Downlink data rate threshold for StaDataRate reporting.", + "format": "uint32", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "Uint32" + }, + "trigger": { + "description": "Trigger event for the notification:\n1 = Notification issued when the STA's downlink data rate is greater than or equal to the downlink threshold.\n2 = Notification issued when the STA's downlink data rate is less than or equal to the downlink threshold.\n3 = Notification issued when the STA's uplink data rate is greater than or equal to the uplink threshold.\n4 = Notification issued when the STA's uplink data rate is less than or equal to the uplink threshold.\n5 = Notification issued when the STA's downlink and uplink data rate is greater than or equal to their thresholds.\n6 = Notification issued when the STA's downlink and uplink data rate is less than or equal to their thresholds.\n7 = Notification issued when the STA's downlink or uplink data rate is greater than or equal to their thresholds.\n8 = Notification issued when the STA's downlink or uplink data rate is less than or equal to their thresholds.", + "enum": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8 + ], + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Enum (inline)" + }, + "uplinkRateThreshold": { + "description": "Uplink data rate threshold for StaDataRate reporting.", + "format": "uint32", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "Uint32" + } + }, + "required": [ + "trigger" + ], + "type": "object", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "Structure (inline)" + }, + "notificationPeriod": { + "description": "Set for periodic notification reporting.\nValue indicates the notification period in seconds.", + "format": "uint8", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "Uint8" + }, + "requestTestNotification": { + "description": "Set to TRUE by the service consumer to request a test notification on the callbackReference URI to determine if it is reachable by the WAIS for notifications.", + "type": "boolean", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "Boolean" + }, "staId": { - "description": "Identifier(s) to uniquely specify the target client station(s) for the subscription", + "description": "Identifier(s) to uniquely specify the target client station(s) for the subscription.", "items": { "$ref": "#/components/schemas/StaIdentity" }, @@ -1916,26 +3033,29 @@ "type": "string", "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "String" + }, + "websockNotifConfig": { + "$ref": "#/components/schemas/WebsockNotifConfig" } }, "required": [ "subscriptionType", - "callbackReference", "staId" ], "type": "object", + "x-etsi-notes": "NOTE 1:\tAt least one of callbackReference and websockNotifConfig shall be provided by the service consumer. If both are provided, it is up to WAIS to select the method to be used for notifications and to return only that method in the response.\nNOTE 2:\tStaDataRateSubscription shall include either notificationPeriod or notificationEvent.\nNOTE 3:\tIf both notificationPeriod and notificationEvent attributes are set, notifications are issued periodically when the trigger threshold is satisfied.", "x-etsi-ref": "6.3.3" }, "StaIdentity": { "properties": { "aid": { - "description": "Number which identifies a particular association between a station and an Access Point ", + "description": "Number which identifies a particular association between a station and an Access Point", "type": "string", "x-etsi-mec-cardinality": "0..1", "x-etsi-mec-origin-type": "String" }, "ipAddress": { - "description": "IPv4 or IPv6 address allocated for the station.", + "description": "IPv4 or IPv6 address(es) allocated for the station.", "items": { "type": "string" }, @@ -1951,7 +3071,7 @@ "x-etsi-mec-origin-type": "String" }, "ssid": { - "description": "Service Set Identifier to identify logical networks.", + "description": "Service Set Identifier(s) to identify logical networks.", "items": { "type": "string" }, @@ -1973,15 +3093,42 @@ "$ref": "#/components/schemas/ApAssociated" }, "beaconReport": { - "$ref": "#/components/schemas/BeaconReport" + "description": "Beacon Report as defined in IEEE 802.11-2016 [8]. ", + "items": { + "$ref": "#/components/schemas/BeaconReport" + }, + "minItems": 0, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "BeaconReport" }, "channel": { - "description": "Channel currently used by the station.", + "description": "Channel currently used by the station to connect with its associated Access Point.", "format": "uint32", "type": "integer", "x-etsi-mec-cardinality": "0..1", "x-etsi-mec-origin-type": "Uint32" }, + "channelLoad": { + "description": "Channel Load reports as seen by the station as defined IEEE 802.11-2016 [8]. Channel Load reports may be configured for any channel, including the station's current channel for association.", + "items": { + "$ref": "#/components/schemas/ChannelLoad" + }, + "minItems": 0, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "ChannelLoad" + }, + "neighborReport": { + "description": "Information about neighbor Access Points seen by the station as defined IEEE 802.11-2016 [8].", + "items": { + "$ref": "#/components/schemas/NeighborReport" + }, + "minItems": 0, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "NeighborReport" + }, "rssi": { "$ref": "#/components/schemas/Rssi" }, @@ -1992,584 +3139,430 @@ "$ref": "#/components/schemas/StaIdentity" }, "staStatistics": { - "$ref": "#/components/schemas/StaStatistics" + "description": "Statistics as defined in IEEE 802.11-2016 [8] for the client station collected over measurement duration.", + "items": { + "$ref": "#/components/schemas/StaStatistics" + }, + "minItems": 0, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "StaStatistics" }, "timeStamp": { - "$ref": "#/components/schemas/TimeStamp" - } - }, - "required": [ - "staId" - ], - "type": "object", - "x-etsi-ref": "6.2.3" - }, - "StaStatistics": { - "properties": { - "groupIdentity": { - "description": "Indicates the requested statistics group describing the Statistics Group Data according to table 9-114 of IEEE 802.11-2016 [8].", - "format": "uint8", - "type": "integer", - "x-etsi-mec-cardinality": "1", - "x-etsi-mec-origin-type": "UInt8" - }, - "md": { - "description": "Measurement Duration.", - "format": "uint16", - "type": "integer", - "x-etsi-mec-cardinality": "1", - "x-etsi-mec-origin-type": "UInt16" - }, - "statisticsGroupData": { - "$ref": "#/components/schemas/StatisticsGroupData", - "description": "Statistics Group Data as defined in Annex C of IEEE 802.112016 [8].", - "x-etsi-mec-cardinality": "1", - "x-etsi-mec-origin-type": "not specified" - } - }, - "required": [ - "md", - "groupIdentity", - "statisticsGroupData" - ], - "type": "object", - "x-etsi-ref": "6.5.13" - }, - "StaStatisticsConfig": { - "properties": { - "groupIdentity": { - "description": "As per table T 9-114 of IEEE 802.11-2012 [8].", - "type": "integer", - "x-etsi-mec-cardinality": "1", - "x-etsi-mec-origin-type": "Integer" - }, - "staId": { - "$ref": "#/components/schemas/StaIdentity" - }, - "triggerCondition": { - "type": "integer" - }, - "triggerTimeout": { - "description": "The Trigger Timeout field contains a value in units of 100 TUs during which a measuring STA does not generate further triggered STA Statistics Reports after a trigger condition has been met.", - "type": "integer", - "x-etsi-mec-cardinality": "1", - "x-etsi-mec-origin-type": "Integer" - }, - "triggeredReport": { - "type": "boolean" - } - }, - "required": [ - "staId", - "groupIdentity", - "triggeredReport", - "triggerTimeout", - "triggerCondition" - ], - "type": "object", - "x-etsi-ref": "6.5.26" - }, - "StatisticsGroupData": { - "properties": { - "dot11AMPDUDelimiterCRCErrorCount": { - "format": "uint32", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" - }, - "dot11AMPDUReceivedCount": { - "format": "uint32", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" - }, - "dot11AMSDUAckFailureCount": { - "format": "uint32", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" - }, - "dot11AckFailureCount": { - "format": "uint32", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" - }, - "dot11BeamformingFrameCount": { - "format": "uint32", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" - }, - "dot11ChannelWidthSwitchCount": { - "format": "uint32", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" - }, - "dot11DualCTSFailureCount": { - "format": "uint32", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" - }, - "dot11DualCTSSuccessCount": { - "format": "uint32", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" - }, - "dot11ExplicitBARFailureCount": { - "format": "uint32", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" - }, - "dot11FCSErrorCount": { - "format": "uint32", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" - }, - "dot11FailedAMSDUCount": { - "format": "uint32", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" - }, - "dot11FailedCount": { - "format": "uint32", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" - }, - "dot11FortyMHzFrameReceivedCount": { - "format": "uint32", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" - }, - "dot11FortyMHzFrameTransmittedCount": { - "format": "uint32", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" - }, - "dot11FrameDuplicateCount": { - "format": "uint32", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" - }, - "dot11GrantedRDGUnusedCount": { - "format": "uint32", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" - }, - "dot11GrantedRDGUsedCount": { - "format": "uint32", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" - }, - "dot11GroupReceivedFrameCount": { - "format": "uint32", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" - }, - "dot11GroupTransmittedFrameCount": { - "format": "uint32", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" - }, - "dot11ImplicitBARFailureCount": { - "format": "uint32", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" - }, - "dot11MPDUInReceivedAMPDUCount": { - "format": "uint32", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" - }, - "dot11MultipleRetryAMSDUCount": { - "format": "uint32", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" - }, - "dot11MultipleRetryCount": { - "format": "uint32", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" - }, - "dot11PSMPUTTGrantDuration": { - "format": "uint32", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" - }, - "dot11PSMPUTTUsedDuration": { - "format": "uint32", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" - }, - "dot11QosAckFailureCount": { - "format": "uint32", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" - }, - "dot11QosDiscardedFrameCount": { - "format": "uint32", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" - }, - "dot11QosFailedCount": { - "format": "uint32", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" - }, - "dot11QosFrameDuplicateCount": { - "format": "uint32", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" - }, - "dot11QosMPDUsReceivedCount": { - "format": "uint32", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" + "$ref": "#/components/schemas/TimeStamp" + } + }, + "required": [ + "staId" + ], + "type": "object", + "x-etsi-ref": "6.2.3" + }, + "StaStatistics": { + "properties": { + "group2to9Data": { + "$ref": "#/components/schemas/StaStatisticsGroup2to9Data" }, - "dot11QosMultipleRetryCount": { - "format": "uint32", + "groupIdentity": { + "description": "Indicates the requested statistics group describing the Statistics Group Data according to Table 9-114 of IEEE 802.11-2016 [8].\nDepending on group identity, one and only one of the STA Statistics Group Data will be present.", + "format": "uint8", "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "UInt8" }, - "dot11QosRTSFailureCount": { - "format": "uint32", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" + "groupOneData": { + "$ref": "#/components/schemas/StaStatisticsGroupOneData" }, - "dot11QosRTSSuccessCount": { - "format": "uint32", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" + "groupZeroData": { + "$ref": "#/components/schemas/StaStatisticsGroupZeroData" }, - "dot11QosReceivedFragmentCount": { - "format": "uint32", + "measurementDuration": { + "description": "Duration over which the Statistics Group Data was measured in time units of 1 024 µs. Duration equal to zero indicates a report of current values.", + "format": "uint16", "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "UInt16" }, - "dot11QosRetriesReceivedCount": { - "format": "uint32", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" + "measurementId": { + "description": "Measurement ID of the Measurement configuration applied to this STA Statistics Report.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" }, - "dot11QosRetryCount": { - "format": "uint32", + "staId": { + "$ref": "#/components/schemas/StaIdentity" + } + }, + "required": [ + "measurementId", + "measurementDuration", + "groupIdentity" + ], + "type": "object", + "x-etsi-ref": "6.5.13" + }, + "StaStatisticsConfig": { + "properties": { + "groupIdentity": { + "description": "As per Table 9-92 of IEEE 802.11-2016 [8].", + "format": "uint8", "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint8" }, - "dot11QosTransmittedFragmentCount": { + "measurementCount": { + "description": "Valid if triggeredReport = true.\nSpecifies the number of MAC service data units or protocol data units to determine if the trigger conditions are met.", "format": "uint32", "type": "integer", "x-etsi-mec-cardinality": "0..1", "x-etsi-mec-origin-type": "Uint32" }, - "dot11QosTransmittedFrameCount": { - "format": "uint32", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" + "triggerCondition": { + "$ref": "#/components/schemas/STACounterTriggerCondition" }, - "dot11RSNAStatsBIPMICErrors": { - "format": "uint32", + "triggerTimeout": { + "description": "Valid if triggeredReport = true.\nThe Trigger Timeout field contains a value in units of 100 time-units of 1 024 µs during which a measuring STA does not generate further triggered STA Statistics Reports after a trigger condition has been met.", + "format": "uint16", "type": "integer", "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" + "x-etsi-mec-origin-type": "Uint16" }, - "dot11RSNAStatsCCMPDecryptErrors": { + "triggeredReport": { + "description": "True = triggered reporting, otherwise duration.", + "type": "boolean", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Boolean" + } + }, + "required": [ + "groupIdentity", + "triggeredReport" + ], + "type": "object", + "x-etsi-ref": "6.5.26" + }, + "StaStatisticsGroup2to9Data": { + "properties": { + "qosAckFailureCount": { + "description": "dot11QosAckFailureCount counter", "format": "uint32", "type": "integer", - "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint32" }, - "dot11RSNAStatsCCMPReplays": { + "qosDiscardedFrameCount": { + "description": "dot11QosDiscardedFrameCount counter", "format": "uint32", "type": "integer", - "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint32" }, - "dot11RSNAStatsCMACReplays": { + "qosFailedCount": { + "description": "dot11QosFailedCount counter", "format": "uint32", "type": "integer", - "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint32" }, - "dot11RSNAStatsRobustMgmtCCMPReplays": { + "qosFrameDuplicateCount": { + "description": "dot11QosFrameDuplicateCount counter", "format": "uint32", "type": "integer", - "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint32" }, - "dot11RSNAStatsTKIPICVErrors": { + "qosMPDUsReceivedCount": { + "description": "dot11QosMPDUsReceivedCount counter", "format": "uint32", "type": "integer", - "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint32" }, - "dot11RSNAStatsTKIPReplays": { + "qosMultipleRetryCount": { + "description": "dot11QosMultipleRetryCount counter", "format": "uint32", "type": "integer", - "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint32" }, - "dot11RTSFailureCount": { + "qosRTSFailureCount": { + "description": "dot11QosRTSFailureCount counter", "format": "uint32", "type": "integer", - "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint32" }, - "dot11RTSLSIGFailureCount": { + "qosRTSSuccessCount": { + "description": "dot11QosRTSSuccessCount counter", "format": "uint32", "type": "integer", - "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint32" }, - "dot11RTSLSIGSuccessCount": { + "qosReceivedFragmentCount": { + "description": "dot11QosReceivedFragmentCount counter", "format": "uint32", "type": "integer", - "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint32" }, - "dot11RTSSuccessCount": { + "qosRetriesReceivedCount": { + "description": "dot11QosRetriesReceivedCount counter", "format": "uint32", "type": "integer", - "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint32" }, - "dot11ReceivedAMSDUCount": { + "qosRetryCount": { + "description": "dot11QosRetryCount counter", "format": "uint32", "type": "integer", - "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint32" }, - "dot11ReceivedFragmentCount": { + "qosTransmittedFragmentCount": { + "description": "dot11QosTransmittedFragmentCount counter", "format": "uint32", "type": "integer", - "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint32" }, - "dot11ReceivedOctetsInAMPDUCount": { - "format": "int64", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint64" - }, - "dot11ReceivedOctetsInAMSDUCount": { - "format": "int64", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint64" - }, - "dot11RetryAMSDUCount": { + "qosTransmittedFrameCount": { + "description": "dot11QosTransmittedFrameCount counter", "format": "uint32", "type": "integer", - "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint32" }, - "dot11RetryCount": { + "reportingReasonQoSCounters": { + "$ref": "#/components/schemas/ReportingReasonQoSCounters" + } + }, + "required": [ + "qosTransmittedFragmentCount", + "qosFailedCount", + "qosRetryCount", + "qosMultipleRetryCount", + "qosFrameDuplicateCount", + "qosRTSSuccessCount", + "qosRTSFailureCount", + "qosAckFailureCount", + "qosReceivedFragmentCount", + "qosTransmittedFrameCount", + "qosDiscardedFrameCount", + "qosMPDUsReceivedCount", + "qosRetriesReceivedCount" + ], + "type": "object", + "x-etsi-ref": "6.5.36" + }, + "StaStatisticsGroupOneData": { + "properties": { + "ackFailureCount": { + "description": "dot11AckFailureCount counter", "format": "uint32", "type": "integer", - "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint32" }, - "dot11STAStatisticsAPAverageAccessDelay": { - "format": "uint8", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint8" - }, - "dot11STAStatisticsAverageAccessDelayBackGround": { - "format": "uint8", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint8" - }, - "dot11STAStatisticsAverageAccessDelayBestEffort": { - "format": "uint8", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint8" - }, - "dot11STAStatisticsAverageAccessDelayVideo": { - "format": "uint8", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint8" - }, - "dot11STAStatisticsAverageAccessDelayVoice": { - "format": "uint8", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint8" - }, - "dot11STAStatisticsChannelUtilization": { - "format": "uint8", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint8" - }, - "dot11STAStatisticsStationCount": { - "format": "uint8", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint8" - }, - "dot11STBCCTSFailureCount": { + "frameDuplicateCount": { + "description": "dot11FrameDuplicateCount counter", "format": "uint32", "type": "integer", - "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint32" }, - "dot11STBCCTSSuccessCount": { + "multipleRetryCount": { + "description": "dot11MultipleRetryCount counter", "format": "uint32", "type": "integer", - "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint32" }, - "dot11TransmittedAMPDUCount": { - "format": "uint32", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" + "reportingReasonStaCounters": { + "$ref": "#/components/schemas/ReportingReasonStaCounters" }, - "dot11TransmittedAMSDUCount": { + "retryCount": { + "description": "dot11RetryCount counter", "format": "uint32", "type": "integer", - "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint32" }, - "dot11TransmittedFragmentCount": { + "rtsFailureCount": { + "description": "dot11RTSFailureCount counter", "format": "uint32", "type": "integer", - "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint32" }, - "dot11TransmittedFrameCount": { + "rtsSuccessCount": { + "description": "dot11RTSSuccessCount counter", "format": "uint32", "type": "integer", - "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint32" - }, - "dot11TransmittedFramesInGrantedRDGCount": { + } + }, + "required": [ + "retryCount", + "multipleRetryCount", + "frameDuplicateCount", + "rtsSuccessCount", + "rtsFailureCount", + "ackFailureCount" + ], + "type": "object", + "x-etsi-ref": "6.5.35" + }, + "StaStatisticsGroupZeroData": { + "properties": { + "failedCount": { + "description": "dot11FailedCount counter", "format": "uint32", "type": "integer", - "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint32" }, - "dot11TransmittedMPDUsInAMPDUCount": { + "fcsErrorCount": { + "description": "dot11FCSErrorCount counter", "format": "uint32", "type": "integer", - "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint32" }, - "dot11TransmittedOctetsInAMPDUCount": { - "format": "int64", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint64" - }, - "dot11TransmittedOctetsInAMSDUCount": { + "groupReceivedFrameCount": { + "description": "dot11GroupReceivedFrameCount counter", "format": "uint32", "type": "integer", - "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint32" }, - "dot11TransmittedOctetsInGrantedRDGCount": { + "groupTransmittedFrameCount": { + "description": "dot11GroupTransmittedFrameCount counter", "format": "uint32", "type": "integer", - "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint32" }, - "dot11TwentyMHzFrameReceivedCount": { + "receivedFragmentCount": { + "description": "dot11ReceivedFragmentCount counter", "format": "uint32", "type": "integer", - "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint32" }, - "dot11TwentyMHzFrameTransmittedCount": { - "format": "uint32", - "type": "integer", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "Uint32" + "reportingReasonStaCounters": { + "$ref": "#/components/schemas/ReportingReasonStaCounters" }, - "dot11nonSTBCCTSFailureCount": { + "transmittedFragmentCount": { + "description": "dot11TransmittedFragmentCount counter", "format": "uint32", "type": "integer", - "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint32" }, - "dot11nonSTBCCTSSuccessCount": { + "transmittedFrameCount": { + "description": "dot11TransmittedFrameCount counter", "format": "uint32", "type": "integer", - "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint32" } }, - "type": "object" + "required": [ + "transmittedFragmentCount", + "groupTransmittedFrameCount", + "failedCount", + "receivedFragmentCount", + "groupReceivedFrameCount", + "fcsErrorCount", + "transmittedFrameCount" + ], + "type": "object", + "x-etsi-ref": "6.5.34" }, "SubscriptionLinkList": { "properties": { "_links": { - "description": "Hyperlink related to the resource. This shall be only included in the HTTP responses and in HTTP PUT requests.", + "description": "List of hyperlinks related to the resource.", "properties": { "self": { "$ref": "#/components/schemas/LinkType" } }, + "required": [ + "self" + ], "type": "object", - "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Structure (inlined)" }, - "assocStaSubscription": { + "subscription": { + "description": "", "items": { - "$ref": "#/components/schemas/AssocStaSubscription" + "minItems": 0, + "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 string shall be set according to the \"subscriptionType\" attribute of the associated subscription data type defined in 6.3.2, 6.3.3. and 6.3.5:\n“AssocStaSubscription”\n“StaDataRateSubscription”\n“MeasurementReportSubscription”", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "href", + "subscriptionType" + ], + "type": "object" }, "type": "array", "x-etsi-mec-cardinality": "0..N", - "x-etsi-mec-origin-type": "AssocStaSubscription" - }, - "staDataRateSubscription": { - "items": { - "$ref": "#/components/schemas/StaDataRateSubscription" + "x-etsi-mec-origin-type": "Structure (inlined)" + } + }, + "required": [ + "_links" + ], + "type": "object", + "x-etsi-ref": "6.3.4" + }, + "TestNotification": { + "properties": { + "_links": { + "description": "Hyperlink related to the resource. ", + "properties": { + "subscription": { + "$ref": "#/components/schemas/LinkType" + } }, - "type": "array", - "x-etsi-mec-cardinality": "0..N", - "x-etsi-mec-origin-type": "StaDataRateSubscription" + "required": [ + "subscription" + ], + "type": "object", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Structure (inlined)" + }, + "notificationType": { + "description": "Shall be set to \"TestNotification\".", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" } }, "required": [ + "notificationType", "_links" ], - "type": "object" + "type": "object", + "x-etsi-ref": "6.4.6" }, "TimeStamp": { "properties": { @@ -2606,7 +3599,7 @@ }, "vhtMcsNss": { "description": "Supported VHT-MCS and NSS Set as defined in IEEE 802.11-2016 [8].", - "format": "int64", + "format": "uint64", "type": "integer", "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "UInt64" @@ -2622,7 +3615,7 @@ "WanMetrics": { "properties": { "downlinkLoad": { - "description": "1-octet positive integer representing the current percentage loading of the downlink WAN connection, scaled linearly with 255 representing 100 %, as measured over an interval the duration of which is reported in Load Measurement Duration. In cases where the downlink load is unknown to the AP, the value is set to zero.", + "description": "1-octet positive integer representing the current percentage loading of the downlink WAN connection, scaled linearly with 255 representing 100 %, as measured over an interval the duration of which is reported in Load Measurement Duration. In cases where the downlink load is unknown to the AP, the value is set to zero.", "format": "uint8", "type": "integer", "x-etsi-mec-cardinality": "1", @@ -2643,7 +3636,7 @@ "x-etsi-mec-origin-type": "Uint16" }, "uplinkLoad": { - "description": "1-octet positive integer representing the current percentage loading of the uplink WAN connection, scaled linearly with 255 representing 100 %, as measured over an interval, the duration of which is reported in Load Measurement Duration. In cases where the uplink load is unknown to the AP, the value is set to zero.", + "description": "1-octet positive integer representing the current percentage loading of the uplink WAN connection, scaled linearly with 255 representing 100 %, as measured over an interval, the duration of which is reported in Load Measurement Duration. In cases where the uplink load is unknown to the AP, the value is set to zero.", "format": "uint8", "type": "integer", "x-etsi-mec-cardinality": "1", @@ -2675,6 +3668,22 @@ "type": "object", "x-etsi-ref": "6.5.6" }, + "WebsockNotifConfig": { + "properties": { + "requestWebsocketUri": { + "description": "Set to true by the service consumer to indicate that Websocket delivery is requested.", + "type": "boolean", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "Boolean" + }, + "websocketUri": { + "description": "Set by WAIS to indicate to the service consumer the Websocket URI to be used for delivering notifications.", + "type": "string" + } + }, + "type": "object", + "x-etsi-ref": "6.3.6" + }, "WlanCapabilities": { "properties": { "dmg": { diff --git a/WlanInformationApi.yaml b/WlanInformationApi.yaml index 290608098d8921d14b53e7a4f55b3b3935b2d520..198018b6775eac20279cd3604786b38ba774c581 100644 --- a/WlanInformationApi.yaml +++ b/WlanInformationApi.yaml @@ -1,27 +1,28 @@ openapi: 3.0.0 info: contact: - url: https://forge.etsi.org/rep/mec/gs028-wai-api + url: 'https://forge.etsi.org/rep/mec/gs028-wai-api' title: ETSI GS MEC 028 - WLAN Access Information API - version: 2.1.1 + version: 2.2.1 description: The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI license: name: BSD-3-Clause url: 'https://forge.etsi.org/legal-matters' externalDocs: - description: ETSI MEC028 V2.1.1 WLAN Information API - url: 'http://www.etsi.org/deliver/etsi_gs/MEC/001_099/028/02.01.01_60/gs_mec028v020101p.pdf' + description: ETSI MEC028 V2.2.1 WLAN Information API + url: >- + https://www.etsi.org/deliver/etsi_gs/MEC/001_099/028/02.02.01_60/gs_mec028v020201p.pdf servers: - url: 'https://localhost/wai/v2' tags: -- name: "wai" + - name: wai paths: /queries/ap/ap_information: get: tags: - - 'wai' - summary: 'Retrieve information on existing Access Points' - description: 'Queries information about existing WLAN Access Points' + - wai + summary: Retrieve information on existing Access Points + description: Queries information about existing WLAN Access Points operationId: apInfoGET parameters: - $ref: '#/components/parameters/Query.Filter' @@ -53,9 +54,9 @@ paths: /queries/sta/sta_information: get: tags: - - 'wai' - summary: 'Retrieve information on existing Stations' - description: 'Queries information about existing WLAN stations' + - wai + summary: Retrieve information on existing Stations + description: Queries information about existing WLAN stations operationId: staInfoGET parameters: - $ref: '#/components/parameters/Query.Filter' @@ -87,15 +88,17 @@ paths: /subscriptions: get: tags: - - 'wai' - summary: 'Retrieve information on subscriptions for notifications' - description: 'Queries information on subscriptions for notifications' + - wai + summary: Retrieve information on subscriptions for notifications + description: Queries information on subscriptions for notifications operationId: subscriptionLinkList_subscriptionsGET parameters: - $ref: '#/components/parameters/Query.SubscriptionType' responses: '200': - description: 'Response body contains the list of links to requestors subscriptions.' + description: >- + Response body contains the list of links to requestors + subscriptions. content: application/json: schema: @@ -107,7 +110,8 @@ paths: subscription: - _links: self: - href: 'http://meAppServer.example.com/wai/v2/subscriptions/sub123' + href: >- + http://meAppServer.example.com/wai/v2/subscriptions/sub123 callbackReference: 'http://my.callback.com/wai/assocStaSubscription/some-id' subscriptionType: AssocStaSubscription '400': @@ -124,9 +128,9 @@ paths: $ref: '#/components/responses/429' post: tags: - - 'wai' - summary: 'Create a new subscription' - description: 'Creates a new subscription to WLAN Access Information notifications' + - wai + summary: Create a new subscription + description: Creates a new subscription to WLAN Access Information notifications operationId: subscriptionsPOST requestBody: description: Subscription to be created @@ -142,9 +146,11 @@ paths: seconds: 1977836800 nanoSeconds: 0 apId: - macId: 005C0A0A0A0A - ssid: 'myNetworkSsid' - ipAddress: 10.10.100.1 + bssid: 005C0A0A0A0A + ssid: + - myNetworkSsid + ipAddress: + - 10.10.100.1 responses: '201': description: Successful subscription response @@ -162,9 +168,11 @@ paths: seconds: 1977836800 nanoSeconds: 0 apId: - macId: 005C0A0A0A0A - ssid: 'myNetworkSsid' - ipAddress: 10.10.100.1 + bssid: 005C0A0A0A0A + ssid: + - myNetworkSsid + ipAddress: + - 10.10.100.1 '400': $ref: '#/components/responses/400' '401': @@ -185,7 +193,7 @@ paths: notification: '{$request.body#/callbackReference}': post: - summary: 'Callback POST used to send a notification' + summary: Callback POST used to send a notification description: 'Notification from WAIS, content based on subscription type' operationId: notificationPOST requestBody: @@ -201,25 +209,30 @@ paths: seconds: 1977836800 nanoseconds: 0 apId: - macId: 005C0A0A0A0A - ssid: 'myNetworkSsid' - ipAddress: 10.10.100.1 + bssid: 005C0A0A0A0A + ssid: + - myNetworkSsid + ipAddress: + - 10.10.100.1 staId: macId: 005C01111111 ssid: - - 'myNetworkSsid' - - 'myOtherNetworkSsid' + - myNetworkSsid + - myOtherNetworkSsid aid: '1122' - ipAddress: 10.10.1.255 + ipAddress: + - 10.10.1.255 responses: '204': $ref: '#/components/responses/204' '/subscriptions/{subscriptionId}': get: tags: - - 'wai' - summary: 'Retrieve information on current specific subscription' - description: 'Queries information about an existing subscription, identified by its self-referring URI returned on creation (initial POST)' + - wai + summary: Retrieve information on current specific subscription + description: >- + Queries information about an existing subscription, identified by its + self-referring URI returned on creation (initial POST) operationId: subscriptionsGET parameters: - $ref: '#/components/parameters/Path.subscrId' @@ -240,9 +253,11 @@ paths: seconds: 1977836800 nanoSeconds: 0 apId: - macId: 005C0A0A0A0A - ssid: 'myNetworkSsid' - ipAddress: 10.10.100.1 + bssid: 005C0A0A0A0A + ssid: + - myNetworkSsid + ipAddress: + - 10.10.100.1 '400': $ref: '#/components/responses/400' '401': @@ -257,9 +272,11 @@ paths: $ref: '#/components/responses/429' put: tags: - - 'wai' - summary: 'Modify an existing subscription' - description: 'Updates an existing subscription, identified by its self-referring URI returned on creation (initial POST)' + - wai + summary: Modify an existing subscription + description: >- + Updates an existing subscription, identified by its self-referring URI + returned on creation (initial POST) operationId: subscriptionsPUT requestBody: description: Subscription to be modified @@ -278,9 +295,11 @@ paths: seconds: 1977836800 nanoSeconds: 0 apId: - macId: 005C0A0A0A0A - ssid: 'myNetworkSsid' - ipAddress: 10.10.100.1 + bssid: 005C0A0A0A0A + ssid: + - myNetworkSsid + ipAddress: + - 10.10.100.1 parameters: - $ref: '#/components/parameters/Path.subscrId' responses: @@ -296,7 +315,11 @@ paths: href: 'http://[hostIP]/sbox-xyz123/wai/v2/subscriptions/sub123' callbackReference: 'http://my.callback.com/wai/some-id' apId: - macId: 005C0A0A0A0A + bssid: 005C0A0A0A0A + ssid: + - myNetworkSsid + ipAddress: + - 10.10.100.1 '400': $ref: '#/components/responses/400' '401': @@ -315,9 +338,11 @@ paths: $ref: '#/components/responses/429' delete: tags: - - 'wai' - summary: 'Cancel an existing subscription' - description: 'Cancels an existing subscription, identified by its self-referring URI returned on creation (initial POST)' + - wai + summary: Cancel an existing subscription + description: >- + Cancels an existing subscription, identified by its self-referring URI + returned on creation (initial POST) operationId: subscriptionsDELETE parameters: - $ref: '#/components/parameters/Path.subscrId' @@ -332,60 +357,291 @@ paths: $ref: '#/components/responses/404' '429': $ref: '#/components/responses/429' + /measurements: + get: + tags: + - wai + summary: Retrieve information on measurements configuration + description: Queries information on measurements configuration + operationId: measurementLinkList_measurementsGET + responses: + '200': + description: >- + Response body contains the list of links to requestors measurement + configurations. + content: + application/json: + schema: + $ref: '#/components/schemas/MeasurementConfigLinkList' + example: + _links: + self: + href: 'http://meAppServer.example.com/wai/v2/measurements' + measurementConfig: + - href: 'http://meAppServer.example.com/wai/v2/measurements/meas123' + measurementId: myId1 + '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: + - wai + summary: Create a new measurement configuration + description: Creates a new measurement configuration + operationId: measurementsPOST + requestBody: + description: Measurement configuration information + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MeasurementConfig' + example: + staId: + macId: 005C01111111 + ssid: + - myNetworkSsid + - myOtherNetworkSsid + measurementId: myId1 + measurementInfo: {} + responses: + '201': + description: Successful measurement configuration response + content: + application/json: + schema: + $ref: '#/components/schemas/MeasurementConfig' + example: + _links: + self: + href: 'http://meAppServer.example.com/wai/v2/measurements/meas123' + staId: + macId: 005C01111111 + ssid: + - myNetworkSsid + - myOtherNetworkSsid + measurementId: myId1 + measurementInfo: {} + '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' + '/measurements/{measurementConfigId}': + get: + tags: + - wai + summary: Retrieve information on an existing measurement configuration + description: >- + Queries information about an existing measurement configuration, + identified by its self-referring URI returned on creation (initial POST) + operationId: measurementsGET + parameters: + - $ref: '#/components/parameters/Path.measurementConfigId' + responses: + '200': + description: Measurement configuration information + content: + application/json: + schema: + $ref: '#/components/schemas/MeasurementConfig' + example: + _links: + self: + href: 'http://meAppServer.example.com/wai/v2/measurements/meas123' + staId: + macId: 005C01111111 + ssid: + - myNetworkSsid + - myOtherNetworkSsid + measurementId: myId1 + measurementInfo: {} + '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: + - wai + summary: Modify an existing measurement configuration + description: >- + Updates an existing measurement configuration, identified by its + self-referring URI returned on creation (initial POST) + operationId: measurementsPUT + requestBody: + description: Measurement configuration to be modified + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MeasurementConfig' + example: + _links: + self: + href: 'http://meAppServer.example.com/wai/v2/measurements/meas123' + staId: + macId: 005C01111111 + ssid: + - myNetworkSsid + - myOtherNetworkSsid + measurementId: myId1 + measurementInfo: {} + parameters: + - $ref: '#/components/parameters/Path.measurementConfigId' + responses: + '200': + description: Successful measurement configuration modification + content: + application/json: + schema: + $ref: '#/components/schemas/MeasurementConfig' + example: + _links: + self: + href: 'http://meAppServer.example.com/wai/v2/measurements/123' + staId: + macId: 005C01111111 + ssid: + - myNetworkSsid + - myOtherNetworkSsid + measurementId: myId1 + measurementInfo: {} + '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: + - wai + summary: Cancel a measurement configuration + description: >- + Cancels an existing measurement configuration, identified by its + self-referring URI returned on creation (initial POST) + operationId: measurementsDELETE + parameters: + - $ref: '#/components/parameters/Path.measurementConfigId' + 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' components: responses: - 200: + '200': description: OK - 204: + '204': description: No Content - 400: - description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.' + '400': + description: >- + Bad Request : used to indicate that incorrect parameters were passed to + the request. content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' - 401: + '401': description: 'Unauthorized : used when the client did not submit credentials.' content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' - 403: - description: 'Forbidden : operation is not allowed given the current status of the resource.' + '403': + description: >- + Forbidden : operation is not allowed given the current status of the + resource. content: application/problem+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.' + '404': + description: >- + Not Found : 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' - 406: - description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.' + '406': + description: >- + Not Acceptable : used to indicate that the server cannot provide the any + of the content formats supported by the client. content: application/problem+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' + '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/problem+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.' + '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/problem+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.' + '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/problem+json: schema: @@ -397,7 +653,7 @@ components: status: '422' detail: The target area for the request is considered too large instance: /meAppClient.example.com/77777/msgs/abc - 429: + '429': description: 'Too Many Requests : used when a rate limiter has triggered.' content: application/problem+json: @@ -407,7 +663,19 @@ components: Path.subscrId: name: subscriptionId in: path - description: 'Subscription Id, specifically the "self" returned in the subscription request' + description: >- + Subscription Id, specifically the "self" returned in the subscription + request + required: true + schema: + type: string + format: uri + Path.measurementConfigId: + name: measurementConfigId + in: path + description: >- + Measurement configuration Id, specifically the "self" returned in the + measurement configuration request required: true schema: type: string @@ -415,21 +683,27 @@ components: Query.Filter: name: filter in: query - description: Attribute-based filtering expression according to clause 6.19 of ETSI GS MEC 009. . + description: >- + Attribute-based filtering expression according to clause 6.19 of ETSI GS + MEC 009. . required: false schema: type: string Query.AllFields: name: all_fields in: query - description: Include all complex attributes in the response. See clause 6.18 of ETSI GS MEC 009 for details. + description: >- + Include all complex attributes in the response. See clause 6.18 of ETSI + GS MEC 009 for details. required: false schema: type: string Query.Fields: name: fields in: query - description: Complex attributes to be included into the response. See clause 6.18 of ETSI GS MEC 009 for details. + description: >- + Complex attributes to be included into the response. See clause 6.18 of + ETSI GS MEC 009 for details. required: false schema: type: array @@ -438,7 +712,9 @@ components: Query.ExcludeFields: name: exclude_fields in: query - description: Complex attributes to be excluded from the response. See clause 6.18 of ETSI GS MEC 009 for details. + description: >- + Complex attributes to be excluded from the response. See clause 6.18 of + ETSI GS MEC 009 for details. required: false schema: type: array @@ -447,9 +723,12 @@ components: Query.ExcludeDefault: name: exclude_default in: query - description: 'Indicates to exclude the following complex attributes from the response. See clause 6.18 of ETSI GS MEC 009 for details. - The following attributes shall be excluded from the structure in the response body if this parameter is provided, or none of the parameters - "all_fields", "fields", "exclude_fields", "exclude_default" are provided: Not applicable' + description: >- + Indicates to exclude the following complex attributes from the response. + See clause 6.18 of ETSI GS MEC 009 for details. The following attributes + shall be excluded from the structure in the response body if this + parameter is provided, or none of the parameters "all_fields", "fields", + "exclude_fields", "exclude_default" are provided: Not applicable required: false schema: type: array @@ -458,7 +737,9 @@ components: Query.SubscriptionType: name: subscription_type in: query - description: 'Filter on a specific subscription type. Permitted values: assoc_sta, sta_data_rate.' + description: >- + Filter on a specific subscription type. Permitted values: assoc_sta, + sta_data_rate, measure_report. required: false schema: type: string @@ -466,10 +747,21 @@ components: ApAssociated: properties: assocId: - description: Unique number which identifies a particular association between the station and Access Point. + description: >- + Unique number which identifies a particular association between the + station and Access Point. type: string x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: string + x-etsi-mec-origin-type: String + bssid: + description: >- + Basic Service Set Identifier (BSSID) is a unique identifier assigned + to the Access Point (as network interface controller) for + communications at the data link layer of a network segment. BSSID is + typically set to an access point's MAC address. + type: string + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: String ipAddress: description: IPv4 or IPv6 address allocated for the Access Point. items: @@ -477,12 +769,7 @@ components: minItems: 0 type: array x-etsi-mec-cardinality: 0..N - x-etsi-mec-origin-type: string - macId: - description: Unique identifier assigned to the Access Point (as network interface controller) for communications at the data link layer of a network segment. - type: string - x-etsi-mec-cardinality: '1' - x-etsi-mec-origin-type: string + x-etsi-mec-origin-type: String ssid: description: Service Set Identifier to identify logical networks. items: @@ -492,11 +779,20 @@ components: x-etsi-mec-cardinality: 0..N x-etsi-mec-origin-type: String required: - - macId + - bssid type: object x-etsi-ref: 6.5.12 ApIdentity: properties: + bssid: + description: >- + Basic Service Set Identifier (BSSID) is a unique Identifier assigned + to an Access Point (as network interface controller) for + communications at the data link layer of a network segment. BSSID is + typically set to an access point's MAC address. + type: string + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: String ipAddress: description: IPv4 or IPv6 address allocated for the Access Point. items: @@ -505,13 +801,10 @@ components: type: array x-etsi-mec-cardinality: 0..N x-etsi-mec-origin-type: String - macId: - description: Unique Identifier assigned to an Access Point (as network interface controller) for communications at the data link layer of a network segment. - type: string - x-etsi-mec-cardinality: '1' - x-etsi-mec-origin-type: String ssid: - description: Service Set Identifier to identify logical networks including Basic Service Set and Extended Service Set. + description: >- + Service Set Identifier (SSID) to identify logical WLAN networks + available via the Access Point. items: type: string minItems: 0 @@ -519,30 +812,16 @@ components: x-etsi-mec-cardinality: 0..N x-etsi-mec-origin-type: String required: - - macId + - bssid type: object x-etsi-ref: 6.5.3 ApInfo: properties: apId: - # description': Identifier(s) to uniquely specify the Access Point whose information is exposed within this data type. - # x-etsi-mec-cardinality': '1' - # x-etsi-mec-origin-type': ApIdentity $ref: '#/components/schemas/ApIdentity' apLocation: - # description': The location on the Access Point. - # x-etsi-mec-cardinality': 0..1 - # x-etsi-mec-origin-type': ApLocation $ref: '#/components/schemas/ApLocation' - apNeighbor: - # description': Information about neighbor Access Points. - # x-etsi-mec-cardinality': 0..1 - # x-etsi-mec-origin-type': NeighborReport - $ref: '#/components/schemas/NeighborReport' bssLoad: - # description': BSS Load attribute contains information on the current STA population and traffic levels in the BSS as defined in IEEE 802.11-2016 [8]. - # x-etsi-mec-cardinality': 0..1 - # x-etsi-mec-origin-type': BssLoad $ref: '#/components/schemas/BssLoad' channel: description: Channel configured for the Access Point. @@ -551,49 +830,30 @@ components: x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: Uint32 extBssLoad: - # description': Extended BSS Load attribute contains more detailed information on the current STA population and traffic levels in the BSS as per ETSI GS MEC 002 [i.4]. - # x-etsi-mec-cardinality': 0..1 - # x-etsi-mec-origin-type': ExtBssLoad $ref: '#/components/schemas/ExtBssLoad' + oBssLoad: + $ref: '#/components/schemas/OBssLoad' timeStamp: - # description': Time stamp. - # x-etsi-mec-cardinality': 0..1 - # x-etsi-mec-origin-type': TimeStamp $ref: '#/components/schemas/TimeStamp' wanMetrics: - # description': WAN Metrics element provides information about the WAN link connecting an IEEE 802.11 Access Node and the Internet. Transmission characteristics such as the speed of the WAN connection to the Internet are included in Hotspot 2.0 Technical Specification v1.0.0 [i.3]. - # x-etsi-mec-cardinality': 0..1 - # x-etsi-mec-origin-type': WanMetrics $ref: '#/components/schemas/WanMetrics' wlanCap: - # description': WLAN capabilities of Access Point. - # x-etsi-mec-cardinality': 0..1 - # x-etsi-mec-origin-type': WlanCapabilities $ref: '#/components/schemas/WlanCapabilities' required: - - apId + - apId type: object x-etsi-ref: 6.2.2 ApLocation: properties: civicLocation: - # description': Civic Location of the AP as described in IETF RFC 4776 [7]. - # x-etsi-mec-cardinality': 0..1 - # x-etsi-mec-origin-type': CivicLocation $ref: '#/components/schemas/CivicLocation' geolocation: - # description': Geospatial Location of the AP as defined in IEEE 802.11-2016 [8]. - # x-etsi-mec-cardinality': 0..1 - # x-etsi-mec-origin-type': GeoLocation $ref: '#/components/schemas/GeoLocation' type: object x-etsi-ref: 6.5.9 AssocStaNotification: properties: apId: - # description': Identifier(s) to uniquely specify the Access Point to which the client stations are associated. - # x-etsi-mec-cardinality': '1' - # x-etsi-mec-origin-type': ApIdentity $ref: '#/components/schemas/ApIdentity' notificationType: description: Shall be set to "AssocStaNotification". @@ -609,183 +869,315 @@ components: x-etsi-mec-cardinality: 0..N x-etsi-mec-origin-type: StaIdentity timeStamp: - # description': Time stamp. - # x-etsi-mec-cardinality': 0..1 - # x-etsi-mec-origin-type': TimeStamp $ref: '#/components/schemas/TimeStamp' required: - - notificationType - - apId + - notificationType + - apId type: object x-etsi-ref: 6.4.2 AssocStaSubscription: properties: _links: - description: Hyperlink related to the resource. This shall be only included in the HTTP responses and in HTTP PUT requests. + 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 WLAN information 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 + - self type: object x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: Structure (inlined) apId: - # description': Identifier(s) to uniquely specify the target Access Point for the subscription - # x-etsi-mec-cardinality': '1' - # x-etsi-mec-origin-type': ApIdentity $ref: '#/components/schemas/ApIdentity' callbackReference: - description: URI selected by the service consumer to receive notifications on the subscribed WLAN 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': The expiration time of the subscription determined by the WLAN Access Information Service. - # x-etsi-mec-cardinality': 0..1 - # x-etsi-mec-origin-type': TimeStamp $ref: '#/components/schemas/TimeStamp' + notificationEvent: + description: 'Set for trigger-based event notification reporting. ' + properties: + threshold: + description: >- + Number of connected stations threshold for trigger-based event + reporting. + format: uint8 + type: integer + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Uint8 + trigger: + description: >- + Trigger for the notification: + + 1 = Notification issued when the number of connected stations is + greater than or equal to the threshold. + + 2 = Notification issued when the number of connected stations is + less than or equal to the threshold. + enum: + - 1 + - 2 + type: integer + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Enum (inline) + required: + - trigger + - threshold + type: object + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: Structure (inline) + notificationPeriod: + description: |- + Set for periodic notification reporting. + Value indicates the notification period in seconds. + format: uint8 + type: integer + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: Uint8 + requestTestNotification: + description: >- + Set to TRUE by the service consumer to request a test notification + on the callbackReference URI to determine if it is reachable by the + WAIS for notifications. + type: boolean + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: Boolean subscriptionType: description: Shall be set to "AssocStaSubscription". type: string x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: String + websockNotifConfig: + $ref: '#/components/schemas/WebsockNotifConfig' required: - - subscriptionType - - callbackReference - - apId + - subscriptionType + - apId type: object + x-etsi-notes: "NOTE 1:\tAt least one of callbackReference and websockNotifConfig shall be provided by the service consumer. If both are provided, it is up to WAIS to select the method to be used for notifications and to return only that method in the response.\nNOTE 2:\tAssocStaSubscription shall include either notificationPeriod or notificationEvent.\nNOTE 3:\tIf both notificationPeriod and notificationEvent attributes are set, notifications are issued periodically when the trigger threshold is satisfied." x-etsi-ref: 6.3.2 - AssociatedStations: + BeaconReport: properties: - assocId: - description: Unique number which identifies a particular association between an Access Point and a station. - type: string + antennaId: + description: "The Antenna ID field contains the identifying number for the antenna(s) used for this measurement. Antenna ID is defined in section\_9.4.2.40 of IEEE 802.11-2016 [8]." + format: uint8 + type: integer x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: string - ipAddress: - description: IPv4 or IPv6 address allocated for the station associated with the Access Point. - items: - type: string - minItems: 0 - type: array - x-etsi-mec-cardinality: 0..N - x-etsi-mec-origin-type: string - macId: - description: Unique identifier assigned to a station (as network interface controller) for communications at the data link layer of a network segment. + x-etsi-mec-origin-type: Uint8 + bssid: + description: >- + Indicates the BSSID of the BSS for which a beacon report has been + received. type: string x-etsi-mec-cardinality: '1' - x-etsi-mec-origin-type: string - required: - - macId - type: object - x-etsi-ref: 6.5.5 - BeaconReport: - properties: - bssId: - description: The BSSID field indicates the BSSID of the BSS(s) for which a beacon report has been received. - items: - type: string - minItems: 1 - type: array - x-etsi-mec-cardinality: 1..N x-etsi-mec-origin-type: String - channelId: + channel: description: Channel number where the beacon was received. + format: uint8 type: integer x-etsi-mec-cardinality: '1' - x-etsi-mec-origin-type: Integer + x-etsi-mec-origin-type: Uint8 measurementId: - description: Measurement ID of the Measurement configuration applied to this Beacon Report. + description: >- + Measurement ID of the Measurement configuration applied to this + Beacon Report. type: string x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: String - reportingCondition: - description: As in table T9-89 of IEEE 802.11-2012 [8]. + operatingClass: + description: >- + Operating Class field indicates an operating class value as defined + in Annex E within IEEE 802.11-2016 [8]. + format: uint8 type: integer x-etsi-mec-cardinality: '1' - x-etsi-mec-origin-type: Integer - ssId: - description: (Optional) The SSID subelement indicates the ESS(s) or IBSS(s) for which a beacon report is received. - items: - type: string - minItems: 1 - type: array - x-etsi-mec-cardinality: 1..N + x-etsi-mec-origin-type: Uint8 + parentTsf: + description: >- + The Parent TSF field contains the lower 4 octets of the measuring + STA's TSF timer value at the start of reception of the first octet + of the timestamp field of the reported Beacon, Measurement Pilot, or + Probe Response frame at the time the Beacon, Measurement Pilot, or + Probe Response frame being reported was received. + format: uint32 + type: integer + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: Uint32 + rcpi: + description: "RCPI indicates the received channel power of the Beacon, Measurement Pilot, or Probe Response frame, which is a logarithmic function of the received signal power, as defined in section\_9.4.2.38 of IEEE 802.11-2016 [8]." + format: uint8 + type: integer + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: Uint8 + reportedFrameInfo: + $ref: '#/components/schemas/ReportedBeaconFrameInfo' + rsni: + description: "RSNI indicates the received signal-to-noise indication for the Beacon, Measurement Pilot, or Probe Response frame, as described in section\_9.4.2.41 of IEEE 802.11-2016 [8]." + format: uint8 + type: integer + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: Uint8 + ssid: + description: >- + The SSID subelement indicates the ESS or IBSS for which a beacon + report is received. + type: string + x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: String staId: - # description': Identifier to uniquely specify the station whose information is exposed within this data type. - # x-etsi-mec-cardinality': '1' - # x-etsi-mec-origin-type': StaIdentity $ref: '#/components/schemas/StaIdentity' required: - - staId - - measurementId - - channelId - - bssId - - ssId - - reportingCondition + - measurementId + - operatingClass + - channel + - reportedFrameInfo + - bssid type: object x-etsi-ref: 6.5.27 + BeaconReportingConfig: + properties: + reportingCondition: + description: >- + Reporting condition for the Beacon Report as per Table 9-89 of IEEE + 802.11-2016 [8]: + + 0 = Report to be issued after each measurement. + + 1 = measured RCPI level is greater than the threshold. + + 2 = measured RCPI level is less than the threshold. + + 3 = measured RSNI level is greater than the threshold. + + 4 = measured RSNI level is less than the threshold. + + 5 = measured RCPI level is greater than a threshold defined by an + offset from the serving AP's reference RCPI. + + 6 = measured RCPI level is less than a threshold defined by an + offset from the serving AP's reference RCPI. + + 7 = measured RSNI level is greater than a threshold defined by an + offset from the serving AP's reference RSNI. + + 8 = measured RSNI level is less than a threshold defined by an + offset from the serving AP's reference RSNI. + + 9 = measured RCPI level is in a range bound by the serving AP's + reference RCPI and an offset from the serving AP's reference RCPI. + + 10 = measured RSNI level is in a range bound by the serving AP's + reference RSNI and an offset from the serving AP's reference RSNI. + format: uint8 + type: integer + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Uint8 + threshold: + description: "The threshold subfield contains either the threshold value or the offset value to be used for conditional reporting.\n\nFor reportingCondition subfield with values 1 and 2, the threshold value is a logarithmic function of the received signal power, as defined in section\_9.4.2.38 of IEEE 802.11-2016 [8].\n\nFor reportingCondition subfield values 3 and 4, the threshold value is a logarithmic function of the signal-to-noise ratio, as described in section\_9.4.2.41 of IEEE 802.11-2016 [8].\n\nFor reportingCondition subfield values 5 to 10, the offset value is an 8-bit 2s complement integer in units of 0,5 dBm. The indicated reporting condition applies individually to each measured Beacon, Measurement Pilot, or Probe Response frame." + format: uint8 + type: integer + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Uint8 + required: + - reportingCondition + - threshold + type: object + x-etsi-ref: 6.5.28 BeaconRequestConfig: properties: - bssId: - description: The BSSID field indicates the BSSID of the BSS(s) for which a beacon report is requested. When requesting beacon reports for all BSSs on the channel, the BSSID field contains the wildcard BSSID. - items: - type: string - minItems: 1 - type: array - x-etsi-mec-cardinality: 1..N + beaconReportingConf: + $ref: '#/components/schemas/BeaconReportingConfig' + bssid: + description: >- + The BSSID field indicates the BSS for which a beacon report is + requested. If absent, the requested beacon reports should include + all BSSs on the channel. + type: string + x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: String channelId: - description: Channel number to scan. A Channel Number of 0 indicates a request to make iterative measurements for all supported channels in the Operating Class where the measurement is permitted on the channel and the channel is valid for the current regulatory domain. A Channel Number of 255 indicates a request to make iterative measurements for all supported channels in the current Operating Class listed in the latest AP Channel Report received from the serving AP. + description: "Channel number to scan. A Channel Number of 0 indicates a request to make iterative measurements for all supported channels in the Operating Class where the measurement is permitted on the channel and the channel is valid for the current regulatory domain. A\_Channel Number of 255 indicates a request to make iterative measurements for all supported channels in the current Operating Class listed in the latest AP Channel Report received from the serving AP." + format: uint8 type: integer x-etsi-mec-cardinality: '1' - x-etsi-mec-origin-type: Integer + x-etsi-mec-origin-type: Uint8 measurementMode: - description: '0 for passive. - + description: |- + 0 for passive. 1 for active. - - 2 for beacon table.' + 2 for beacon table. + format: uint8 type: integer x-etsi-mec-cardinality: '1' - x-etsi-mec-origin-type: Integer - reportingCondition: - description: As in table T9-89 of IEEE 802.11-2012 [8]. + x-etsi-mec-origin-type: Uint8 + operatingClass: + description: "Operating Class field indicates an operating class value as defined in Annex E within IEEE\_802.112016\_[8]." + format: uint8 type: integer x-etsi-mec-cardinality: '1' - x-etsi-mec-origin-type: Integer - ssId: - description: (Optional) The SSID subelement indicates the ESS(s) or IBSS(s) for which a beacon report is requested. - items: - type: string - minItems: 1 - type: array - x-etsi-mec-cardinality: 1..N + x-etsi-mec-origin-type: Uint8 + ssid: + description: >- + The SSID subelement indicates the ESS or IBSS for which a beacon + report is requested. + type: string + x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: String - staId: - # description': Identifier to uniquely specify the station whose information is exposed within this data type. - # x-etsi-mec-cardinality': '1' - # x-etsi-mec-origin-type': StaIdentity - $ref: '#/components/schemas/StaIdentity' required: - - staId - - channelId - - measurementMode - - bssId - - ssId - - reportingCondition + - operatingClass + - channelId + - measurementMode + - beaconReportingConf type: object x-etsi-ref: 6.5.25 + BssCapabilities: + properties: + apsd: + description: APSD Option implemented + type: boolean + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Boolean + delayedBACK: + description: Delayed Block Ack Option implemented + type: boolean + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Boolean + immediateBACK: + description: Immediate Block Ack Option implemented + type: boolean + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Boolean + qos: + description: QoS Option implemented + type: boolean + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Boolean + radioMeasurements: + description: Radio Measurement Activated + type: boolean + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Boolean + spectrumManagement: + description: Spectrum Management required + type: boolean + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Boolean + required: + - spectrumManagement + - qos + - apsd + - radioMeasurements + - delayedBACK + - immediateBACK + type: object + x-etsi-ref: 6.5.31 BssLoad: properties: availAdmCap: - description: Available Admission Capacity that specifies the remaining amount of medium time available via explicit admission control, in units of 32 s/s. + description: >- + Available Admission Capacity that specifies the remaining amount of + medium time available via explicit admission control, in units of 32 + s/s. format: uint16 type: integer x-etsi-mec-cardinality: '1' @@ -797,38 +1189,199 @@ components: x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: UInt8 staCount: - description: An unsigned integer that indicates the total number of STAs currently associated with this BSS. + description: >- + An unsigned integer that indicates the total number of STAs + currently associated with this BSS. format: uint16 type: integer x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: UInt16 required: - - staCount - - channelUtilization - - availAdmCap + - staCount + - channelUtilization + - availAdmCap type: object x-etsi-ref: 6.5.7 - ChannelLoadConfig: + BssidInfo: properties: - apId: - # description': Identifier(s) to uniquely specify the target Access Point - # x-etsi-mec-cardinality': '1' - # x-etsi-mec-origin-type': ApIdentity - $ref: '#/components/schemas/ApIdentity' - cChannelId: - description: Channel number which load is reported + apReachability: + description: >- + The apReachability field indicates whether the AP identified by this + BSSID is reachable by the STA that requested the neighbor report. + Valid values: + + 0 = reserved + + 1 = not reachable + + 2 = unknown + + 3 = reachable. + format: uint8 type: integer x-etsi-mec-cardinality: '1' - x-etsi-mec-origin-type: Integer + x-etsi-mec-origin-type: Uint8 + capabilities: + $ref: '#/components/schemas/BssCapabilities' + ftm: + description: >- + True indicates the AP represented by this BSSID is an AP that has + set the Fine Timing Measurement Responder field of the Extended + Capabilities element to 1. + + + False indicates either that the reporting AP has + dot11FineTimingMsmtRespActivated equal to false, or the reported AP + has not set the Fine Timing Measurement Responder field of the + Extended Capabilities element to 1 or that the Fine Timing + Measurement Responder field of the reported AP is not available to + the reporting AP at this time. + type: boolean + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Boolean + highThroughput: + description: >- + True indicates that the AP represented by this BSSID is an HT AP + including the HT Capabilities element in its Beacons, and that the + contents of that HT Capabilities element are identical to the HT + Capabilities element advertised by the AP sending the report. + type: boolean + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Boolean + mobilityDomain: + description: >- + True indicates the AP represented by this BSSID is including an MDE + in its Beacon frames and that the contents of that MDE are identical + to the MDE advertised by the AP sending the report. + type: boolean + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Boolean + security: + description: >- + True indicates the AP identified by this BSSID supports the same + security provisioning as used by the STA in its current association. + + + False indicates either that the AP does not support the same + security provisioning or that the security information is not + available at this time. + type: boolean + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Boolean + veryHighThroughput: + description: >- + True indicates that the AP represented by this BSSID is a VHT AP and + that the VHT Capabilities element, if included as a subelement in + the report, is identical in content to the VHT Capabilities element + included in the AP's Beacon. + type: boolean + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Boolean + required: + - apReachability + - security + - capabilities + - mobilityDomain + - highThroughput + - veryHighThroughput + - ftm + type: object + x-etsi-ref: 6.5.30 + ChannelLoad: + properties: + channel: + description: >- + Channel number indicates the channel number for which the + measurement report applies. + format: uint8 + type: integer + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Uint8 channelLoad: - description: Channel load as per IEEE 802.11-2012 [8], section 11.11.9.3 + description: "Proportion of measurement duration for which the measuring STA determined the channel to be busy, as a percentage of time, linearly scaled with 255 representing 100\_%." + format: uint8 + type: integer + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Uint8 + measurementDuration: + description: >- + Duration over which the Channel Load report was measured, in units + of TUs of 1 024 µs. + format: uint8 + type: integer + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Uint8 + measurementId: + description: >- + Measurement ID of the Measurement configuration applied to this + Channel Load Report. + type: string + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: String + operatingClass: + description: >- + Operating Class field indicates an operating class value as defined + in Annex E within IEEE 802.11-2016 [8]. + format: uint8 + type: integer + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Uint8 + staId: + $ref: '#/components/schemas/StaIdentity' + required: + - measurementId + - operatingClass + - channel + - measurementDuration + - channelLoad + type: object + x-etsi-ref: 6.5.39 + ChannelLoadConfig: + properties: + channel: + description: Channel for which the channel load report is requested. type: integer x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Integer + operatingClass: + description: >- + Operating Class field indicates an operating class value as defined + in Annex E within IEEE 802.11-2016 [8]. + format: uint8 + type: integer + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Uint8 + reportingCondition: + description: >- + Reporting condition for the Beacon Report as per Table 9-153 of IEEE + 802.11-2016 [8]: + + 0 = Report to be issued after each measurement. + + 1 = Report to be issued when Channel Load is greater than or equal + to the threshold. + + 2 = Report to be issued when Channel Load is less than or equal to + the threshold. + + + If this optional field is not provided, channel load report should + be issued after each measurement (reportingCondition = 0). + format: uint8 + type: integer + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: Uint8 + threshold: + description: >- + Channel Load reference value for threshold reporting. This field + shall be provided for reportingCondition values 1 and 2. + format: uint8 + type: integer + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: Uint8 required: - - apId - - cChannelId - - channelLoad + - operatingClass + - channel type: object x-etsi-ref: 6.5.24 CivicLocation: @@ -839,7 +1392,7 @@ components: x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: String ca1: - description: 'National subdivisions (state, canton, region,province, prefecture) ' + description: 'National subdivisions (state, canton, region, province, prefecture) ' type: string x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: String @@ -869,7 +1422,7 @@ components: x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: String ca2: - description: County, parish, gun (JP), district (IN) + description: 'County, parish, gun (JP), district (IN)' type: string x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: String @@ -924,7 +1477,7 @@ components: x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: String ca3: - description: City, township, shi (JP) + description: 'City, township, shi (JP)' type: string x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: String @@ -944,7 +1497,7 @@ components: x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: String ca33: - description: Seat (desk.cubicle, workstation) + description: 'Seat (desk.cubicle, workstation)' type: string x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: String @@ -979,12 +1532,12 @@ components: x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: String ca4: - description: City division, borough, city district, ward, chou (JP) + description: 'City division, borough, city district, ward, chou (JP)' type: string x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: String ca5: - description: Neighborhood, block + description: 'Neighborhood, block' type: string x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: String @@ -994,111 +1547,127 @@ components: x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: String country: - description: The two-letter ISO 3166 [i.9] country code in capital ASCII letters, e.g. DE or US, as per ISO 3166 [i.9] + description: >- + The two-letter ISO 3166 [i.9] country code in capital ASCII letters, + e.g. DE or US, as per ISO 3166 [i.9] type: string x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: String required: - - country + - country type: object x-etsi-ref: 6.5.20 DmgCapabilities: properties: ExtScMcsCap: - description: Extended SC MCS capabilities as defined in draft IEEE P802.11/D4.0 [i.11] + description: "Extended SC MCS capabilities as defined in IEEE\_802.11-2016 [8]." format: uint8 type: integer x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint8 dmgApOrPcpCapInfo: - description: DMG AP or PCP capabilities information as defined in draft IEEE P802.11/D4.0 [i.11] + description: >- + DMG AP or PCP capabilities information as defined in IEEE + 802.11-2016 [8]. format: uint16 type: integer x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint16 dmgStaBeamTrackTimeLimit: - description: DMG station beam tracking time limit as defined in draft IEEE P802.11/D4.0 [i.11] + description: "DMG station beam tracking time limit as defined in IEEE\_802.11-2016 [8]. " format: uint16 type: integer x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint16 dmgStaCapInfo: - description: DMG station capabilities information as defined in draft IEEE P802.11/D4.0 [i.11] - format: int64 + description: "DMG station capabilities information as defined in IEEE\_802.11-2016 [8]. " + format: uint64 type: integer x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint64 maxNrBasicAmsduSubframes: - description: Number of basic A-MSDU subframes in A-MSDU as defined in draft IEEE P802.11/D4.0 [i.11] + description: >- + Number of basic A-MSDU subframes in A-MSDU as defined in IEEE + 802.11-2016 [8]. format: uint8 type: integer x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint8 maxNrShortAmsduSubframes: - description: Number of short A-MSDU subframes in A-MSDU as defined in draft IEEE P802.11/D4.0 [i.11] - format: uint8 - type: integer - x-etsi-mec-cardinality: '1' - x-etsi-mec-origin-type: Uint8 - sarCap: - description: SAR capabilities as defined in draft IEEE P802.11/D4.0 [i.11] + description: >- + Number of short A-MSDU subframes in A-MSDU as defined in IEEE + 802.11-2016 [8]. format: uint8 type: integer x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint8 - tddCap: - description: TDD capabilities as defined in draft IEEE P802.11/D4.0 [i.11] - format: uint16 - type: integer - x-etsi-mec-cardinality: '1' - x-etsi-mec-origin-type: Uint16 required: - - dmgStaCapInfo - - dmgApOrPcpCapInfo - - dmgStaBeamTrackTimeLimit - - ExtScMcsCap - - maxNrBasicAmsduSubframes - - maxNrShortAmsduSubframes - - tddCap - - sarCap + - dmgStaCapInfo + - dmgApOrPcpCapInfo + - dmgStaBeamTrackTimeLimit + - ExtScMcsCap + - maxNrBasicAmsduSubframes + - maxNrShortAmsduSubframes type: object x-etsi-ref: 6.5.17 EdmgCapabilities: properties: ampduParameters: - description: A-MPDU parameters as defined in draft IEEE P802.11/D4.0 [i.11] + description: 'A-MPDU parameters as defined in draft IEEE P802.11ay [i.11]' format: uint8 type: integer x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint8 - reserved: - description: '' - format: uint8 - type: integer - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint8 supportedMcs: - description: Supported MCS as defined in draft IEEE P802.11/D4.0 [i.11] + description: 'Supported MCS as defined in draft IEEE P802.11ay [i.11]' format: uint32 type: integer x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint32 trnParameters: - description: Training parameters as defined in draft IEEE P802.11/D4.0 [i.11] + description: 'Training parameters as defined in draft IEEE P802.11ay [i.11]' format: uint16 type: integer x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint16 required: - - ampduParameters - - trnParameters - - supportedMcs + - ampduParameters + - trnParameters + - supportedMcs type: object x-etsi-ref: 6.5.18 + ExpiryNotification: + properties: + _links: + description: Hyperlink related to the resource. + properties: + subscription: + $ref: '#/components/schemas/LinkType' + required: + - subscription + type: object + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Structure (inlined) + expiryDeadline: + $ref: '#/components/schemas/TimeStamp' + notificationType: + description: Shall be set to "ExpiryNotification". + type: string + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: String + required: + - notificationType + - _links + - expiryDeadline + type: object + x-etsi-ref: 6.4.4 ExtBssLoad: properties: muMimoStaCount: - description: Indicates the total number of STAs currently associated with this BSS that have a 1 in the MU Beamformee Capable field of their VHT Capabilities element. + description: >- + Indicates the total number of STAs currently associated with this + BSS that have a 1 in the MU Beamformee Capable field of their VHT + Capabilities element. format: uint16 type: integer x-etsi-mec-cardinality: '1' @@ -1128,11 +1697,11 @@ components: x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: UInt8 required: - - muMimoStaCount - - spatStreamUnderUtil - - obsSec20MhzUtil - - obsSec40MhzUtil - - obsSec80MhzUtil + - muMimoStaCount + - spatStreamUnderUtil + - obsSec20MhzUtil + - obsSec40MhzUtil + - obsSec80MhzUtil type: object x-etsi-ref: 6.5.8 GeoLocation: @@ -1144,53 +1713,63 @@ components: x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: Uint32 altitudeType: - description: The type description for altitude information e.g. floors or meters as defined in IETF RFC 6225 [6] + description: >- + The type description for altitude information e.g. floors or meters + as defined in IETF RFC 6225 [6] format: uint8 type: integer x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: Uint8 altitudeUncertainty: - description: The uncertainty for altitude information as defined in IETF RFC 6225 [6] + description: >- + The uncertainty for altitude information as defined in IETF RFC 6225 + [6] format: uint8 type: integer x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: Uint8 datum: - description: The datum value to express how coordinates are organized and related to real world as defined in IETF RFC 6225 [6] + description: >- + The datum value to express how coordinates are organized and related + to real world as defined in IETF RFC 6225 [6] format: uint8 type: integer x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint8 lat: description: "The latitude value of location as defined in IETF RFC\_6225 [6]" - format: int64 + format: uint64 type: integer x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint64 latUncertainty: - description: The uncertainty for Latitude information as defined in IETF RFC 6225 [6] + description: >- + The uncertainty for Latitude information as defined in IETF RFC 6225 + [6] format: uint8 type: integer x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint8 long: description: "The longitude value of location as defined in IETF RFC\_6225 [6]" - format: int64 + format: uint64 type: integer x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint64 longUncertainty: - description: The uncertainty for Longitude information as defined in IETF RFC 6225 [6] + description: >- + The uncertainty for Longitude information as defined in IETF RFC + 6225 [6] format: uint8 type: integer x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint8 required: - - latUncertainty - - lat - - longUncertainty - - long - - datum + - latUncertainty + - lat + - longUncertainty + - long + - datum type: object x-etsi-ref: 6.5.19 HeCapabilities: @@ -1207,11 +1786,6 @@ components: type: integer x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint8 - ppeThresholds: - description: PPE Threshold determines the nominal packet padding value for a HE PPDU. - type: integer - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: not defined supportedHeMcsNssSet: description: Supported MCS and NSS Set. format: uint8 @@ -1219,275 +1793,273 @@ components: x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint8 required: - - heMacCapInfo - - hePhyCapinfo - - supportedHeMcsNssSet + - heMacCapInfo + - hePhyCapinfo + - supportedHeMcsNssSet type: object x-etsi-ref: 6.5.16 HtCapabilities: properties: ampduParameters: - description: A-MPDU parameters as defined in IEEE 802.11-2016 [8]. + description: 'A-MPDU parameters as defined in IEEE 802.11-2016 [8].' format: uint8 type: integer x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: UInt8 aselCap: - description: ASEL capabilities as defined in IEEE 802.11-2016 [8]. + description: 'ASEL capabilities as defined in IEEE 802.11-2016 [8].' format: uint8 type: integer x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: UInt8 htCapabilityInfo: - description: HT Capability Information as defined in IEEE 802.11-2016 [8]. + description: 'HT Capability Information as defined in IEEE 802.11-2016 [8].' format: uint16 type: integer x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: UInt16 htExtendedCap: - description: Extended HT Capabilities as defined in IEEE 802.11-2016 [8]. + description: 'Extended HT Capabilities as defined in IEEE 802.11-2016 [8].' format: uint16 type: integer x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: UInt16 supportedMcsSet: - description: Supported MCS set as defined in IEEE 802.11-2016 [8]. + description: 'Supported MCS set as defined in IEEE 802.11-2016 [8].' format: uint128 type: integer x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint128 txBeamFormCap: - description: Transmit Beamforming Capabilities as defined in IEEE 802.11-2016 [8]. + description: >- + Transmit Beamforming Capabilities as defined in IEEE 802.11-2016 + [8]. format: uint32 type: integer x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: UInt32 required: - - htCapabilityInfo - - ampduParameters - - supportedMcsSet - - htExtendedCap - - txBeamFormCap - - aselCap + - htCapabilityInfo + - ampduParameters + - supportedMcsSet + - htExtendedCap + - txBeamFormCap + - aselCap type: object x-etsi-ref: 6.5.14 InlineNotification: + discriminator: + propertyName: notificationType oneOf: - $ref: '#/components/schemas/AssocStaNotification' - $ref: '#/components/schemas/StaDataRateNotification' - discriminator: - propertyName: notificationType + - $ref: '#/components/schemas/MeasurementReportNotification' InlineSubscription: + discriminator: + propertyName: subscriptionType oneOf: - $ref: '#/components/schemas/AssocStaSubscription' - $ref: '#/components/schemas/StaDataRateSubscription' - discriminator: - propertyName: subscriptionType + - $ref: '#/components/schemas/MeasurementReportSubscription' LinkType: properties: href: - description: URI referring to a resource type: string - x-etsi-mec-cardinality: '1' - x-etsi-mec-origin-type: String required: - - href + - href type: object x-etsi-ref: 6.5.23 MeasurementConfig: properties: - beaconRequest: - # description': Configuration related to Beacon Request. - # x-etsi-mec-cardinality': 0..1 - # x-etsi-mec-origin-type': BeaconRequestConfig - $ref: '#/components/schemas/BeaconRequestConfig' - channelLoad: - # description': Configuration related to the Channel Load. - # x-etsi-mec-cardinality': 0..1 - # x-etsi-mec-origin-type': ChannelLoadConfig - $ref: '#/components/schemas/ChannelLoadConfig' - measurementDuration: - description: Duration of the measurement, shall be lower than Maximum Measurement Duration in TU as defined in section 11.11.4 of IEEE 802.11 [8]. - type: integer - x-etsi-mec-cardinality: '1' - x-etsi-mec-origin-type: Integer + _links: + description: Hyperlink related to the resource. + properties: + self: + $ref: '#/components/schemas/LinkType' + required: + - self + type: object + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: Structure (inlined) measurementId: - description: Identifier of this measurement configuration. + description: >- + Unique identifier allocated by the service consumer to identify + measurement reports (within sta_information query), associated with + this measurement configuration. type: string x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: String - randomnInterval: - description: "Random interval to be used for starting the measurement. In units of TU as specifed in section\_11.11.3 of IEEE 802.11 [8]." - type: integer - x-etsi-mec-cardinality: '1' - x-etsi-mec-origin-type: Integer - staStatistics: - # description': Configuration related to the statistics provided by STAs. - # x-etsi-mec-cardinality': 0..1 - # x-etsi-mec-origin-type': StaStatisticsConfig - $ref: '#/components/schemas/StaStatisticsConfig' + measurementInfo: + $ref: '#/components/schemas/MeasurementInfo' + staId: + description: >- + Identifier(s) to uniquely specify the target client station(s) for + the measurement configuration. + items: + $ref: '#/components/schemas/StaIdentity' + minItems: 1 + type: array + x-etsi-mec-cardinality: 1..N + x-etsi-mec-origin-type: StaIdentity required: - - measurementId - - measurementDuration - - randomnInterval + - staId + - measurementId + - measurementInfo type: object - x-etsi-notes: "NOTE:\tThis element enables the configuration of the channelLoad, beaconRequest and staStatistics in a single resource data type, although only one of each measurement. Multiple measurement configurations of each kind are not allowed." x-etsi-ref: 6.2.4 - NeighborReport: + MeasurementConfigLinkList: properties: - bssid: - description: BSS Id of the Access Point that is being reported. - type: string - x-etsi-mec-cardinality: '1' - x-etsi-mec-origin-type: String - bssidInfo: - description: Additional information related to Access Point that is being reported such as AP reachability, security, key scope, Mobility Domain, HT/VHT capability and Fine Time Measurements. - format: uint32 - type: integer - x-etsi-mec-cardinality: '1' - x-etsi-mec-origin-type: UInt32 - channel: - description: The channel currently used by this Access Point. - format: uint8 - type: integer - x-etsi-mec-cardinality: '1' - x-etsi-mec-origin-type: Uint8 - operatingClass: - description: The channel set of the AP indicated by this BSSID. - format: uint8 - type: integer - x-etsi-mec-cardinality: '1' - x-etsi-mec-origin-type: Uint8 - phyType: - description: PHY type of the AP indicated by this BSSID. It is an integer value coded according to the value of the dot11PHYType. - format: uint8 - type: integer + _links: + description: Hyperlink related to the resource. + properties: + self: + $ref: '#/components/schemas/LinkType' + required: + - self + type: object x-etsi-mec-cardinality: '1' - x-etsi-mec-origin-type: Uint8 + x-etsi-mec-origin-type: Structure (inlined) + measurementConfig: + description: '' + items: + properties: + href: + description: The URI referring to a measurement configuration. + format: uri + type: string + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: URI + measurementId: + description: >- + Unique identifier allocated by the service consumer to + identify measurement reports associated with this measurement + configuration. + type: string + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: String + required: + - href + - measurementId + type: object + type: array + x-etsi-mec-cardinality: 0..N + x-etsi-mec-origin-type: Structure (inlined) required: - - bssid - - bssidInfo - - operatingClass - - channel - - phyType + - _links type: object - x-etsi-ref: 6.5.10 - ProblemDetails: + x-etsi-ref: 6.2.5 + MeasurementInfo: 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 + beaconRequestConf: + $ref: '#/components/schemas/BeaconRequestConfig' + channelLoadConf: + $ref: '#/components/schemas/ChannelLoadConfig' + measurementDuration: + description: "Duration of the measurement in Time Units (TUs) of 1\_024 µs, as defined in section 11.11.4 of IEEE\_802.11-2016 [8]. If not provided, the underlying system may utilize a default configuration that will be indicated in resulting measurement reports." + format: uint16 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 - Rssi: - properties: - rssi: - description: The Received Signal Strength Indicator from a station - format: uint8 + x-etsi-mec-origin-type: Uint16 + neighborReportConf: + $ref: '#/components/schemas/NeighborReportConfig' + randomInterval: + description: "Random interval to be used for starting the measurement in TUs of 1\_024 µs, as specified in section\_11.11.3 of IEEE 802.11-2016 [8]. If not provided, the underlying system may utilize a default configuration that will be indicated in resulting measurement reports." + format: uint16 type: integer - x-etsi-mec-cardinality: '1' - x-etsi-mec-origin-type: Uint8 - required: - - rssi + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: Uint16 + staStatisticsConf: + $ref: '#/components/schemas/StaStatisticsConfig' type: object - x-etsi-ref: 6.5.21 - StaDataRate: - properties: - staId: - # description': Identifier(s) to uniquely specify the client station(s) associated. - # x-etsi-mec-cardinality': 0..1 - # x-etsi-mec-origin-type': StaIdentity - $ref: '#/components/schemas/StaIdentity' - staLastDataDownlinkRate: - description: The data transmit rate in kbps that was most recently used for transmission of data PPDUs from the access point to the station. - format: uint32 - type: integer - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint32 - staLastDataUplinkRate: - description: The data transmit rate in Kbps that was most recently used for transmission of data PPDUs from the associated station to the access point. - format: uint32 - type: integer - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint32 - type: object - x-etsi-ref: 6.5.22 - StaDataRateNotification: + x-etsi-notes: "NOTE 1:\tOnly one of channelLoadConf, beaconRequestConf, staStatisticsConf or neighborReportConf is allowed in a MeasurementInfo instance.\nNOTE 2:\tAs per IEEE 802.11-2016 [8], measurementDuration and randomInterval apply to channelLoad, beaconRequest, staStatistics, and neighborReport configurations." + x-etsi-ref: 6.5.41 + MeasurementReportNotification: properties: + beaconReport: + description: 'Beacon Report as defined in IEEE 802.11-2016 [8].' + items: + $ref: '#/components/schemas/BeaconReport' + minItems: 0 + type: array + x-etsi-mec-cardinality: 0..N + x-etsi-mec-origin-type: BeaconReport + channelLoad: + description: >- + Channel Load reports as seen by the station as defined in IEEE + 802.11-2016 [8]. + items: + $ref: '#/components/schemas/ChannelLoad' + minItems: 0 + type: array + x-etsi-mec-cardinality: 0..N + x-etsi-mec-origin-type: ChannelLoad + neighborReport: + description: "Neighbor Report providing information about neighbor Access Points seen by the station as defined in IEEE\_802.112016 [8]." + items: + $ref: '#/components/schemas/NeighborReport' + minItems: 0 + type: array + x-etsi-mec-cardinality: 0..N + x-etsi-mec-origin-type: NeighborReport notificationType: - description: Shall be set to "StaDataRateNotification". + description: Shall be set to "MeasurementReportNotification". type: string x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: String - staDataRate: - description: Data rates of a client station. + staStatistics: + description: 'STA Statistics Report as defined in IEEE 802.11-2016 [8].' items: - $ref: '#/components/schemas/StaDataRate' + $ref: '#/components/schemas/StaStatistics' minItems: 0 type: array x-etsi-mec-cardinality: 0..N - x-etsi-mec-origin-type: StaDataRate + x-etsi-mec-origin-type: StaStatistics timeStamp: - # description': Time stamp. - # x-etsi-mec-cardinality': 0..1 - # x-etsi-mec-origin-type': TimeStamp $ref: '#/components/schemas/TimeStamp' required: - - notificationType + - notificationType type: object - x-etsi-ref: 6.4.3 - StaDataRateSubscription: + x-etsi-notes: "NOTE 1:\tEach MeasurementReportNotification shall include a single measurement report type (channelLoad, beaconRequest, etc.), based on the MeasurementReportSubscription.\nNOTE 2:\tA single MeasurementReportNotification may include multiple measurement reports (of the same type), if the MeasurementReportSubscription configured the measurement report for several client stations and multiple reports are available to WAIS." + x-etsi-ref: 6.4.5 + MeasurementReportSubscription: properties: _links: - description: Hyperlink related to the resource. This shall be only included in the HTTP responses and in HTTP PUT requests. + 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 WLAN Access Information 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 + - self type: object x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: Structure (inlined) callbackReference: - description: URI selected by the service consumer to receive notifications on the subscribed WLAN Access Information Service. 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': The expiration time of the subscription determined by the WLAN Access Information Service. - # x-etsi-mec-cardinality': 0..1 - # x-etsi-mec-origin-type': TimeStamp $ref: '#/components/schemas/TimeStamp' + measurementId: + description: >- + Unique identifier allocated by the service consumer to identify + measurement reports associated with this measurement subscription. + type: string + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: String + measurementInfo: + $ref: '#/components/schemas/MeasurementInfo' + requestTestNotification: + description: >- + Set to TRUE by the service consumer to request a test notification + on the callbackReference URI to determine if it is reachable by the + WAIS for notifications. + type: boolean + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: Boolean staId: - description: Identifier(s) to uniquely specify the target client station(s) for the subscription + description: >- + Identifier(s) to uniquely specify the target client station(s) for + the subscription. items: $ref: '#/components/schemas/StaIdentity' minItems: 1 @@ -1495,679 +2067,1096 @@ components: x-etsi-mec-cardinality: 1..N x-etsi-mec-origin-type: StaIdentity subscriptionType: - description: Shall be set to "StaDataRateSubscription". + description: Shall be set to "MeasurementReportSubscription". type: string x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: String + websockNotifConfig: + $ref: '#/components/schemas/WebsockNotifConfig' required: - - subscriptionType - - callbackReference - - staId + - subscriptionType + - staId + - measurementId + - measurementInfo type: object - x-etsi-ref: 6.3.3 - StaIdentity: + x-etsi-notes: "NOTE:\tAt least one of callbackReference and websockNotifConfig shall be provided by the service consumer. If both are provided, it is up to WAIS to select the method to be used for notifications and to return only that method in the response." + x-etsi-ref: 6.3.5 + NeighborReport: properties: - aid: - description: 'Number which identifies a particular association between a station and an Access Point ' - type: string + bssTransitionCandidatePreference: + description: "Relative value indicating the preferred ordering for this BSS as a transition candidate for roaming. 255 indicating the most preferred candidate and 1 indicating the least preferred candidate, as defined in Table 9-152 within IEEE\_802.112016\_[8]." + format: uint8 + type: integer x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: String - ipAddress: - description: IPv4 or IPv6 address allocated for the station. - items: - type: string - minItems: 0 - type: array - x-etsi-mec-cardinality: 0..N - x-etsi-mec-origin-type: String - macId: - description: Unique identifier assigned to station (as network interface controller) for communications at the data link layer of a network segment. + x-etsi-mec-origin-type: Uint8 + bssid: + description: BSSID (MAC address) of the Access Point that is being reported. type: string x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: String - ssid: - description: Service Set Identifier to identify logical networks. - items: - type: string - minItems: 0 - type: array - x-etsi-mec-cardinality: 0..N - x-etsi-mec-origin-type: String - required: - - macId - type: object - x-etsi-ref: 6.5.11 - StaInfo: - properties: - apAssociated: - # description': Information about the Access Point that this Client Station is associated to. - # x-etsi-mec-cardinality': 0..1 - # x-etsi-mec-origin-type': ApAssociated - $ref: '#/components/schemas/ApAssociated' - beaconReport: - # description': Beacon Report as defined in Wi-Fi Agile Multiband Specification [9]. - # x-etsi-mec-cardinality': 0..1 - # x-etsi-mec-origin-type': BeaconReport - $ref: '#/components/schemas/BeaconReport' + bssidInfo: + $ref: '#/components/schemas/BssidInfo' channel: - description: Channel currently used by the station. - format: uint32 - type: integer - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint32 - rssi: - # description': Receive Signal Strength Indicator. - # x-etsi-mec-cardinality': 0..1 - # x-etsi-mec-origin-type': Rssi - $ref: '#/components/schemas/Rssi' - staDataRate: - # description': Station Data Rate as defined in IEEE 802.11-2016 [8]. - # x-etsi-mec-cardinality': 0..1 - # x-etsi-mec-origin-type': StaDataRate - $ref: '#/components/schemas/StaDataRate' - staId: - # description': 0 to N identifiers to uniquely specify the station whose information is exposed within this data type. - # x-etsi-mec-cardinality': '1' - # x-etsi-mec-origin-type': StaIdentity - $ref: '#/components/schemas/StaIdentity' - staStatistics: - # description': Statistics as defined in IEEE 802.11-2016 [8] for the client station collected over measurement duration. - # x-etsi-mec-cardinality': 0..1 - # x-etsi-mec-origin-type': StaStatistics - $ref: '#/components/schemas/StaStatistics' - timeStamp: - # description': Time stamp. - # x-etsi-mec-cardinality': 0..1 - # x-etsi-mec-origin-type': TimeStamp - $ref: '#/components/schemas/TimeStamp' - required: - - staId - type: object - x-etsi-ref: 6.2.3 - StaStatistics: - properties: - groupIdentity: - description: Indicates the requested statistics group describing the Statistics Group Data according to table 9-114 of IEEE 802.11-2016 [8]. + description: >- + Channel field indicates a channel number, which is interpreted in + the context of the indicated operating class. Channel numbers are + defined in Annex E within IEEE 802.11-2016 [8]. format: uint8 type: integer x-etsi-mec-cardinality: '1' - x-etsi-mec-origin-type: UInt8 - md: - description: Measurement Duration. - format: uint16 - type: integer + x-etsi-mec-origin-type: Uint8 + measurementId: + description: >- + Measurement ID of the Measurement configuration applied to this + Neighbor Report. + type: string x-etsi-mec-cardinality: '1' - x-etsi-mec-origin-type: UInt16 - statisticsGroupData: - $ref: '#/components/schemas/StatisticsGroupData' - description: "Statistics Group Data as defined in Annex C of IEEE 802.112016\_[8]." + x-etsi-mec-origin-type: String + operatingClass: + description: >- + Operating Class field indicates an operating class value as defined + in Annex E within IEEE 802.11-2016 [8]. + format: uint8 + type: integer x-etsi-mec-cardinality: '1' - x-etsi-mec-origin-type: not specified - required: - - md - - groupIdentity - - statisticsGroupData - type: object - x-etsi-ref: 6.5.13 - StaStatisticsConfig: - properties: - groupIdentity: - description: As per table T 9-114 of IEEE 802.11-2012 [8]. + x-etsi-mec-origin-type: Uint8 + phyType: + description: "PHY type of the AP indicated by this BSSID. It is an integer value coded according to the value of the dot11PHYType, Annex\_C within IEEE 802.11-2016 [8].\n2 = dsss\n4 = ofdm\n5 = hrdsss\n6 = erp\n7 = ht\n8 = dmg\n9 = vht\n10 = tvht" + format: uint8 type: integer x-etsi-mec-cardinality: '1' - x-etsi-mec-origin-type: Integer + x-etsi-mec-origin-type: Uint8 staId: - # description': Identifier to uniquely specify the station whose information is exposed within this data type. - # x-etsi-mec-cardinality': '1' - # x-etsi-mec-origin-type': StaIdentity $ref: '#/components/schemas/StaIdentity' - triggerCondition: - # description': As per Figure 9-161 of IEEE 802.11. This bitmap defines what are the metrics returned by the STA Statistics Report. - # x-etsi-mec-cardinality': '1' - # x-etsi-mec-origin-type': 16bits bitmap - type: integer - triggerTimeout: - description: The Trigger Timeout field contains a value in units of 100 TUs during which a measuring STA does not generate further triggered STA Statistics Reports after a trigger condition has been met. - type: integer - x-etsi-mec-cardinality: '1' - x-etsi-mec-origin-type: Integer - triggeredReport: - # description': Yes, use triggered report. - # x-etsi-mec-cardinality': '1' - # x-etsi-mec-origin-type': Bool - type: boolean required: - - staId - - groupIdentity - - triggeredReport - - triggerTimeout - - triggerCondition + - measurementId + - bssid + - bssidInfo + - operatingClass + - channel + - phyType type: object - x-etsi-ref: 6.5.26 - StatisticsGroupData: + x-etsi-ref: 6.5.10 + NeighborReportConfig: properties: - dot11AMPDUDelimiterCRCErrorCount: - format: uint32 - type: integer - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint32 - dot11AMPDUReceivedCount: - format: uint32 - type: integer - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint32 - dot11AMSDUAckFailureCount: - format: uint32 - type: integer - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint32 - dot11AckFailureCount: - format: uint32 - type: integer - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint32 - dot11BeamformingFrameCount: - format: uint32 - type: integer - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint32 - dot11ChannelWidthSwitchCount: - format: uint32 - type: integer - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint32 - dot11DualCTSFailureCount: - format: uint32 - type: integer - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint32 - dot11DualCTSSuccessCount: - format: uint32 - type: integer - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint32 - dot11ExplicitBARFailureCount: - format: uint32 - type: integer + bssid: + description: >- + BSSID of the neighbor AP which information is intended to obtain. If + no specific BSSID is given, the information will be provided for all + APs matching the ssid criteria. + type: string x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint32 - dot11FCSErrorCount: - format: uint32 - type: integer + x-etsi-mec-origin-type: String + ssid: + description: >- + The SSID field is optionally present. If present, it contains an + SSID element. The presence of an SSID element in a Neighbor Report + indicates a request for a neighbor list for the specified SSID in + the SSID Element. The absence of an SSID element indicates neighbor + report for the current ESS. + type: string x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint32 - dot11FailedAMSDUCount: - format: uint32 + x-etsi-mec-origin-type: String + type: object + x-etsi-notes: "NOTE:\tBoth SSID and BSSID are optional configuration parameters. BSSID is valid when a SSID setting is provided, otherwise ignored. If SSID is not included, the neighbor report will be generated for the SSID (i.e.\_current ESS) that the station is associated." + x-etsi-ref: 6.5.32 + OBssLoad: + properties: + allocatedTrafficSelfMean: + description: "Mean of allocated traffic from this AP (BSS) in units of 32\_µs per second." + format: uint16 type: integer - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint32 - dot11FailedCount: - format: uint32 + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Uint16 + allocatedTrafficSelfStdDev: + description: >- + Standard deviation from the mean of allocation traffic from this BSS + in units of 32 µs per second. + format: uint16 type: integer x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint32 - dot11FortyMHzFrameReceivedCount: - format: uint32 + x-etsi-mec-origin-type: Uint16 + allocatedTrafficShareMean: + description: >- + Mean of the sum of allocated traffic from other APs on the + overlapping channel in unit of 32 µs per second. + format: uint16 type: integer - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint32 - dot11FortyMHzFrameTransmittedCount: - format: uint32 + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Uint16 + allocatedTrafficShareStdDev: + description: >- + Standard deviation from the mean of the sum of allocated traffic + from other APs on the overlapping channel in unit of 32 µs per + second. + format: uint16 type: integer x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint32 - dot11FrameDuplicateCount: - format: uint32 + x-etsi-mec-origin-type: Uint16 + overlap: + description: >- + Indicates the number of other APs that are sharing the same channel + as the reporting AP. + format: uint8 type: integer x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint32 - dot11GrantedRDGUnusedCount: - format: uint32 - type: integer + x-etsi-mec-origin-type: Uint8 + required: + - allocatedTrafficSelfMean + - allocatedTrafficShareMean + type: object + x-etsi-ref: 6.5.40 + 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: Uint32 - dot11GrantedRDGUsedCount: - format: uint32 - type: integer + 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: Uint32 - dot11GroupReceivedFrameCount: + 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 - dot11GroupTransmittedFrameCount: - format: uint32 - type: integer + title: + description: 'A short, human-readable summary of the problem type' + type: string x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint32 - dot11ImplicitBARFailureCount: - format: uint32 - type: integer + 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: Uint32 - dot11MPDUInReceivedAMPDUCount: - format: uint32 + x-etsi-mec-origin-type: URI + type: object + ReportedBeaconFrameInfo: + properties: + frameType: + description: |- + A value of 0 indicates a Beacon or Probe Response. + A value of 1 indicates a Measurement Pilot frame. + format: uint8 type: integer - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint32 - dot11MultipleRetryAMSDUCount: - format: uint32 + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Uint8 + phyType: + description: Value between 0 and 127 coded according to dot11PHYType. + format: uint8 type: integer - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint32 - dot11MultipleRetryCount: - format: uint32 + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Uint8 + required: + - phyType + - frameType + type: object + x-etsi-ref: 6.5.29 + ReportingReasonQoSCounters: + properties: + qosAckFailure: + description: dot11QoSAckFailure + type: boolean + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Boolean + qosDiscarded: + description: dot11QoSDiscarded + type: boolean + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Boolean + qosFailed: + description: 'dot11QoSFailed ' + type: boolean + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Boolean + qosFrameDuplicate: + description: dot11QoSFrameDuplicate + type: boolean + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Boolean + qosMultipleRetry: + description: dot11QoSMultipleRetry + type: boolean + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Boolean + qosRetry: + description: dot11QoSRetry + type: boolean + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Boolean + qosRtsFailure: + description: dot11QoSRTSFailure + type: boolean + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Boolean + required: + - qosFailed + - qosRetry + - qosMultipleRetry + - qosFrameDuplicate + - qosRtsFailure + - qosAckFailure + - qosDiscarded + type: object + x-etsi-ref: 6.5.38 + ReportingReasonStaCounters: + properties: + ackFailure: + description: dot11AckFailure + type: boolean + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Boolean + failed: + description: dot11Failed + type: boolean + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Boolean + fcsError: + description: 'dot11FCSError ' + type: boolean + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Boolean + frameDuplicate: + description: 'dot11FrameDuplicate ' + type: boolean + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Boolean + multipleRetry: + description: dot11MultipleRetry + type: boolean + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Boolean + retry: + description: dot11Retry + type: boolean + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Boolean + rtsFailure: + description: dot11RTSFailure + type: boolean + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Boolean + required: + - failed + - fcsError + - multipleRetry + - frameDuplicate + - rtsFailure + - ackFailure + - retry + type: object + x-etsi-ref: 6.5.37 + Rssi: + properties: + rssi: + description: The Received Signal Strength Indicator from a station + format: uint8 type: integer - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint32 - dot11PSMPUTTGrantDuration: + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Uint8 + required: + - rssi + type: object + x-etsi-ref: 6.5.21 + STACounterTriggerCondition: + properties: + ackFailureCountThreshold: + description: Configure and set threshold for dot11AckFailureCount trigger format: uint32 type: integer x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: Uint32 - dot11PSMPUTTUsedDuration: + failedCountThreshold: + description: Configure and set threshold for dot11FailedCount trigger format: uint32 type: integer x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: Uint32 - dot11QosAckFailureCount: + fcsErrorCountThreshold: + description: Configure and set threshold for dot11FCSErrorCount trigger format: uint32 type: integer x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: Uint32 - dot11QosDiscardedFrameCount: + frameDuplicateCountThreshold: + description: Configure and set threshold for dot11FrameDuplicateCount trigger format: uint32 type: integer x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: Uint32 - dot11QosFailedCount: + multipleRetryCountThreshold: + description: Configure and set threshold for dot11MultipleRetryCount trigger format: uint32 type: integer x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: Uint32 - dot11QosFrameDuplicateCount: + retryCountThreshold: + description: Configure and set threshold for dot11RetryCount trigger format: uint32 type: integer x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: Uint32 - dot11QosMPDUsReceivedCount: + rtsFailureCountThreshold: + description: Configure and set threshold for dot11RTSFailureCount trigger format: uint32 type: integer x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: Uint32 - dot11QosMultipleRetryCount: + type: object + x-etsi-ref: 6.5.33 + StaDataRate: + properties: + staId: + $ref: '#/components/schemas/StaIdentity' + staLastDataDownlinkRate: + description: >- + The data transmit rate in kbps that was most recently used for + transmission of data PPDUs from the access point to the station. format: uint32 type: integer x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: Uint32 - dot11QosRTSFailureCount: + staLastDataUplinkRate: + description: >- + The data transmit rate in Kbps that was most recently used for + transmission of data PPDUs from the associated station to the access + point. format: uint32 type: integer x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: Uint32 - dot11QosRTSSuccessCount: - format: uint32 - type: integer + type: object + x-etsi-notes: "NOTE:\tStaDataRate shall include at least one instance of either downlink rate or uplink rate and may include both.\n If this report is contained within a data type that provides the station's identifier, staId field may be omitted" + x-etsi-ref: 6.5.22 + StaDataRateNotification: + properties: + notificationType: + description: Shall be set to "StaDataRateNotification". + type: string + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: String + staDataRate: + description: Data rates of a client station. + items: + $ref: '#/components/schemas/StaDataRate' + minItems: 0 + type: array + x-etsi-mec-cardinality: 0..N + x-etsi-mec-origin-type: StaDataRate + timeStamp: + $ref: '#/components/schemas/TimeStamp' + required: + - notificationType + type: object + x-etsi-ref: 6.4.3 + StaDataRateSubscription: + properties: + _links: + description: >- + Hyperlink related to the resource. This shall be only included in + the HTTP responses and in HTTP PUT requests. + properties: + self: + $ref: '#/components/schemas/LinkType' + required: + - self + type: object x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint32 - dot11QosReceivedFragmentCount: - format: uint32 - type: integer + x-etsi-mec-origin-type: Structure (inlined) + callbackReference: + type: string + expiryDeadline: + $ref: '#/components/schemas/TimeStamp' + notificationEvent: + description: Set for trigger-based event notification reporting. + properties: + downlinkRateThreshold: + description: Downlink data rate threshold for StaDataRate reporting. + format: uint32 + type: integer + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: Uint32 + trigger: + description: >- + Trigger event for the notification: + + 1 = Notification issued when the STA's downlink data rate is + greater than or equal to the downlink threshold. + + 2 = Notification issued when the STA's downlink data rate is + less than or equal to the downlink threshold. + + 3 = Notification issued when the STA's uplink data rate is + greater than or equal to the uplink threshold. + + 4 = Notification issued when the STA's uplink data rate is less + than or equal to the uplink threshold. + + 5 = Notification issued when the STA's downlink and uplink data + rate is greater than or equal to their thresholds. + + 6 = Notification issued when the STA's downlink and uplink data + rate is less than or equal to their thresholds. + + 7 = Notification issued when the STA's downlink or uplink data + rate is greater than or equal to their thresholds. + + 8 = Notification issued when the STA's downlink or uplink data + rate is less than or equal to their thresholds. + enum: + - 1 + - 2 + - 3 + - 4 + - 5 + - 6 + - 7 + - 8 + type: integer + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Enum (inline) + uplinkRateThreshold: + description: Uplink data rate threshold for StaDataRate reporting. + format: uint32 + type: integer + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: Uint32 + required: + - trigger + type: object x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint32 - dot11QosRetriesReceivedCount: - format: uint32 + x-etsi-mec-origin-type: Structure (inline) + notificationPeriod: + description: |- + Set for periodic notification reporting. + Value indicates the notification period in seconds. + format: uint8 type: integer x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint32 - dot11QosRetryCount: - format: uint32 - type: integer + x-etsi-mec-origin-type: Uint8 + requestTestNotification: + description: >- + Set to TRUE by the service consumer to request a test notification + on the callbackReference URI to determine if it is reachable by the + WAIS for notifications. + type: boolean x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint32 - dot11QosTransmittedFragmentCount: - format: uint32 - type: integer + x-etsi-mec-origin-type: Boolean + staId: + description: >- + Identifier(s) to uniquely specify the target client station(s) for + the subscription. + items: + $ref: '#/components/schemas/StaIdentity' + minItems: 1 + type: array + x-etsi-mec-cardinality: 1..N + x-etsi-mec-origin-type: StaIdentity + subscriptionType: + description: Shall be set to "StaDataRateSubscription". + type: string + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: String + websockNotifConfig: + $ref: '#/components/schemas/WebsockNotifConfig' + required: + - subscriptionType + - staId + type: object + x-etsi-notes: "NOTE 1:\tAt least one of callbackReference and websockNotifConfig shall be provided by the service consumer. If both are provided, it is up to WAIS to select the method to be used for notifications and to return only that method in the response.\nNOTE 2:\tStaDataRateSubscription shall include either notificationPeriod or notificationEvent.\nNOTE 3:\tIf both notificationPeriod and notificationEvent attributes are set, notifications are issued periodically when the trigger threshold is satisfied." + x-etsi-ref: 6.3.3 + StaIdentity: + properties: + aid: + description: >- + Number which identifies a particular association between a station + and an Access Point + type: string x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint32 - dot11QosTransmittedFrameCount: + x-etsi-mec-origin-type: String + ipAddress: + description: IPv4 or IPv6 address(es) allocated for the station. + items: + type: string + minItems: 0 + type: array + x-etsi-mec-cardinality: 0..N + x-etsi-mec-origin-type: String + macId: + description: >- + Unique identifier assigned to station (as network interface + controller) for communications at the data link layer of a network + segment. + type: string + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: String + ssid: + description: Service Set Identifier(s) to identify logical networks. + items: + type: string + minItems: 0 + type: array + x-etsi-mec-cardinality: 0..N + x-etsi-mec-origin-type: String + required: + - macId + type: object + x-etsi-ref: 6.5.11 + StaInfo: + properties: + apAssociated: + $ref: '#/components/schemas/ApAssociated' + beaconReport: + description: 'Beacon Report as defined in IEEE 802.11-2016 [8]. ' + items: + $ref: '#/components/schemas/BeaconReport' + minItems: 0 + type: array + x-etsi-mec-cardinality: 0..N + x-etsi-mec-origin-type: BeaconReport + channel: + description: >- + Channel currently used by the station to connect with its associated + Access Point. format: uint32 type: integer x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: Uint32 - dot11RSNAStatsBIPMICErrors: - format: uint32 + channelLoad: + description: "Channel Load reports as seen by the station as defined IEEE\_802.11-2016 [8]. Channel Load reports may be configured for any channel, including the station's current channel for association." + items: + $ref: '#/components/schemas/ChannelLoad' + minItems: 0 + type: array + x-etsi-mec-cardinality: 0..N + x-etsi-mec-origin-type: ChannelLoad + neighborReport: + description: >- + Information about neighbor Access Points seen by the station as + defined IEEE 802.11-2016 [8]. + items: + $ref: '#/components/schemas/NeighborReport' + minItems: 0 + type: array + x-etsi-mec-cardinality: 0..N + x-etsi-mec-origin-type: NeighborReport + rssi: + $ref: '#/components/schemas/Rssi' + staDataRate: + $ref: '#/components/schemas/StaDataRate' + staId: + $ref: '#/components/schemas/StaIdentity' + staStatistics: + description: >- + Statistics as defined in IEEE 802.11-2016 [8] for the client station + collected over measurement duration. + items: + $ref: '#/components/schemas/StaStatistics' + minItems: 0 + type: array + x-etsi-mec-cardinality: 0..N + x-etsi-mec-origin-type: StaStatistics + timeStamp: + $ref: '#/components/schemas/TimeStamp' + required: + - staId + type: object + x-etsi-ref: 6.2.3 + StaStatistics: + properties: + group2to9Data: + $ref: '#/components/schemas/StaStatisticsGroup2to9Data' + groupIdentity: + description: "Indicates the requested statistics group describing the Statistics Group Data according to Table 9-114 of IEEE\_802.11-2016 [8].\nDepending on group identity, one and only one of the STA Statistics Group Data will be present." + format: uint8 type: integer - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint32 - dot11RSNAStatsCCMPDecryptErrors: + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: UInt8 + groupOneData: + $ref: '#/components/schemas/StaStatisticsGroupOneData' + groupZeroData: + $ref: '#/components/schemas/StaStatisticsGroupZeroData' + measurementDuration: + description: >- + Duration over which the Statistics Group Data was measured in time + units of 1 024 µs. Duration equal to zero indicates a report of + current values. + format: uint16 + type: integer + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: UInt16 + measurementId: + description: >- + Measurement ID of the Measurement configuration applied to this STA + Statistics Report. + type: string + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: String + staId: + $ref: '#/components/schemas/StaIdentity' + required: + - measurementId + - measurementDuration + - groupIdentity + type: object + x-etsi-ref: 6.5.13 + StaStatisticsConfig: + properties: + groupIdentity: + description: 'As per Table 9-92 of IEEE 802.11-2016 [8].' + format: uint8 + type: integer + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Uint8 + measurementCount: + description: >- + Valid if triggeredReport = true. + + Specifies the number of MAC service data units or protocol data + units to determine if the trigger conditions are met. format: uint32 type: integer x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: Uint32 - dot11RSNAStatsCCMPReplays: - format: uint32 + triggerCondition: + $ref: '#/components/schemas/STACounterTriggerCondition' + triggerTimeout: + description: >- + Valid if triggeredReport = true. + + The Trigger Timeout field contains a value in units of 100 + time-units of 1 024 µs during which a measuring STA does not + generate further triggered STA Statistics Reports after a trigger + condition has been met. + format: uint16 type: integer x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint32 - dot11RSNAStatsCMACReplays: + x-etsi-mec-origin-type: Uint16 + triggeredReport: + description: 'True = triggered reporting, otherwise duration.' + type: boolean + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Boolean + required: + - groupIdentity + - triggeredReport + type: object + x-etsi-ref: 6.5.26 + StaStatisticsGroup2to9Data: + properties: + qosAckFailureCount: + description: dot11QosAckFailureCount counter format: uint32 type: integer - x-etsi-mec-cardinality: 0..1 + x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint32 - dot11RSNAStatsRobustMgmtCCMPReplays: + qosDiscardedFrameCount: + description: dot11QosDiscardedFrameCount counter format: uint32 type: integer - x-etsi-mec-cardinality: 0..1 + x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint32 - dot11RSNAStatsTKIPICVErrors: + qosFailedCount: + description: dot11QosFailedCount counter format: uint32 type: integer - x-etsi-mec-cardinality: 0..1 + x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint32 - dot11RSNAStatsTKIPReplays: + qosFrameDuplicateCount: + description: dot11QosFrameDuplicateCount counter format: uint32 type: integer - x-etsi-mec-cardinality: 0..1 + x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint32 - dot11RTSFailureCount: + qosMPDUsReceivedCount: + description: dot11QosMPDUsReceivedCount counter format: uint32 type: integer - x-etsi-mec-cardinality: 0..1 + x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint32 - dot11RTSLSIGFailureCount: + qosMultipleRetryCount: + description: dot11QosMultipleRetryCount counter format: uint32 type: integer - x-etsi-mec-cardinality: 0..1 + x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint32 - dot11RTSLSIGSuccessCount: + qosRTSFailureCount: + description: dot11QosRTSFailureCount counter format: uint32 type: integer - x-etsi-mec-cardinality: 0..1 + x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint32 - dot11RTSSuccessCount: + qosRTSSuccessCount: + description: dot11QosRTSSuccessCount counter format: uint32 type: integer - x-etsi-mec-cardinality: 0..1 + x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint32 - dot11ReceivedAMSDUCount: + qosReceivedFragmentCount: + description: dot11QosReceivedFragmentCount counter format: uint32 type: integer - x-etsi-mec-cardinality: 0..1 + x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint32 - dot11ReceivedFragmentCount: + qosRetriesReceivedCount: + description: dot11QosRetriesReceivedCount counter format: uint32 type: integer - x-etsi-mec-cardinality: 0..1 + x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint32 - dot11ReceivedOctetsInAMPDUCount: - format: int64 - type: integer - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint64 - dot11ReceivedOctetsInAMSDUCount: - format: int64 - type: integer - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint64 - dot11RetryAMSDUCount: + qosRetryCount: + description: dot11QosRetryCount counter format: uint32 type: integer - x-etsi-mec-cardinality: 0..1 + x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint32 - dot11RetryCount: + qosTransmittedFragmentCount: + description: dot11QosTransmittedFragmentCount counter format: uint32 type: integer - x-etsi-mec-cardinality: 0..1 + x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint32 - dot11STAStatisticsAPAverageAccessDelay: - format: uint8 - type: integer - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint8 - dot11STAStatisticsAverageAccessDelayBackGround: - format: uint8 - type: integer - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint8 - dot11STAStatisticsAverageAccessDelayBestEffort: - format: uint8 - type: integer - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint8 - dot11STAStatisticsAverageAccessDelayVideo: - format: uint8 - type: integer - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint8 - dot11STAStatisticsAverageAccessDelayVoice: - format: uint8 - type: integer - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint8 - dot11STAStatisticsChannelUtilization: - format: uint8 - type: integer - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint8 - dot11STAStatisticsStationCount: - format: uint8 - type: integer - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint8 - dot11STBCCTSFailureCount: + qosTransmittedFrameCount: + description: dot11QosTransmittedFrameCount counter format: uint32 type: integer - x-etsi-mec-cardinality: 0..1 + x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint32 - dot11STBCCTSSuccessCount: + reportingReasonQoSCounters: + $ref: '#/components/schemas/ReportingReasonQoSCounters' + required: + - qosTransmittedFragmentCount + - qosFailedCount + - qosRetryCount + - qosMultipleRetryCount + - qosFrameDuplicateCount + - qosRTSSuccessCount + - qosRTSFailureCount + - qosAckFailureCount + - qosReceivedFragmentCount + - qosTransmittedFrameCount + - qosDiscardedFrameCount + - qosMPDUsReceivedCount + - qosRetriesReceivedCount + type: object + x-etsi-ref: 6.5.36 + StaStatisticsGroupOneData: + properties: + ackFailureCount: + description: dot11AckFailureCount counter format: uint32 type: integer - x-etsi-mec-cardinality: 0..1 + x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint32 - dot11TransmittedAMPDUCount: + frameDuplicateCount: + description: dot11FrameDuplicateCount counter format: uint32 type: integer - x-etsi-mec-cardinality: 0..1 + x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint32 - dot11TransmittedAMSDUCount: + multipleRetryCount: + description: dot11MultipleRetryCount counter format: uint32 type: integer - x-etsi-mec-cardinality: 0..1 + x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint32 - dot11TransmittedFragmentCount: + reportingReasonStaCounters: + $ref: '#/components/schemas/ReportingReasonStaCounters' + retryCount: + description: dot11RetryCount counter format: uint32 type: integer - x-etsi-mec-cardinality: 0..1 + x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint32 - dot11TransmittedFrameCount: + rtsFailureCount: + description: dot11RTSFailureCount counter format: uint32 type: integer - x-etsi-mec-cardinality: 0..1 + x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint32 - dot11TransmittedFramesInGrantedRDGCount: + rtsSuccessCount: + description: dot11RTSSuccessCount counter format: uint32 type: integer - x-etsi-mec-cardinality: 0..1 + x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint32 - dot11TransmittedMPDUsInAMPDUCount: + required: + - retryCount + - multipleRetryCount + - frameDuplicateCount + - rtsSuccessCount + - rtsFailureCount + - ackFailureCount + type: object + x-etsi-ref: 6.5.35 + StaStatisticsGroupZeroData: + properties: + failedCount: + description: dot11FailedCount counter format: uint32 type: integer - x-etsi-mec-cardinality: 0..1 + x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint32 - dot11TransmittedOctetsInAMPDUCount: - format: int64 - type: integer - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: Uint64 - dot11TransmittedOctetsInAMSDUCount: + fcsErrorCount: + description: dot11FCSErrorCount counter format: uint32 type: integer - x-etsi-mec-cardinality: 0..1 + x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint32 - dot11TransmittedOctetsInGrantedRDGCount: + groupReceivedFrameCount: + description: dot11GroupReceivedFrameCount counter format: uint32 type: integer - x-etsi-mec-cardinality: 0..1 + x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint32 - dot11TwentyMHzFrameReceivedCount: + groupTransmittedFrameCount: + description: dot11GroupTransmittedFrameCount counter format: uint32 type: integer - x-etsi-mec-cardinality: 0..1 + x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint32 - dot11TwentyMHzFrameTransmittedCount: + receivedFragmentCount: + description: dot11ReceivedFragmentCount counter format: uint32 type: integer - x-etsi-mec-cardinality: 0..1 + x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint32 - dot11nonSTBCCTSFailureCount: + reportingReasonStaCounters: + $ref: '#/components/schemas/ReportingReasonStaCounters' + transmittedFragmentCount: + description: dot11TransmittedFragmentCount counter format: uint32 type: integer - x-etsi-mec-cardinality: 0..1 + x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint32 - dot11nonSTBCCTSSuccessCount: + transmittedFrameCount: + description: dot11TransmittedFrameCount counter format: uint32 type: integer - x-etsi-mec-cardinality: 0..1 + x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint32 + required: + - transmittedFragmentCount + - groupTransmittedFrameCount + - failedCount + - receivedFragmentCount + - groupReceivedFrameCount + - fcsErrorCount + - transmittedFrameCount type: object + x-etsi-ref: 6.5.34 SubscriptionLinkList: properties: _links: - description: Hyperlink related to the resource. This shall be only included in the HTTP responses and in HTTP PUT requests. + description: List of hyperlinks related to the resource. properties: self: $ref: '#/components/schemas/LinkType' + required: + - self type: object - x-etsi-mec-cardinality: 0..1 + x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Structure (inlined) - assocStaSubscription: - items: - $ref: '#/components/schemas/AssocStaSubscription' - type: array - x-etsi-mec-cardinality: 0..N - x-etsi-mec-origin-type: AssocStaSubscription - staDataRateSubscription: + subscription: + description: '' items: - $ref: '#/components/schemas/StaDataRateSubscription' + minItems: 0 + 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 string shall be set according to + the "subscriptionType" attribute of the associated + subscription data type defined in 6.3.2, 6.3.3. and 6.3.5: + + “AssocStaSubscription” + + “StaDataRateSubscription” + + “MeasurementReportSubscription” + type: string + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: String + required: + - href + - subscriptionType + type: object type: array x-etsi-mec-cardinality: 0..N - x-etsi-mec-origin-type: StaDataRateSubscription + x-etsi-mec-origin-type: Structure (inlined) + required: + - _links + type: object + x-etsi-ref: 6.3.4 + TestNotification: + properties: + _links: + description: 'Hyperlink related to the resource. ' + properties: + subscription: + $ref: '#/components/schemas/LinkType' + required: + - subscription + type: object + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Structure (inlined) + notificationType: + description: Shall be set to "TestNotification". + type: string + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: String required: - - _links + - notificationType + - _links type: object + x-etsi-ref: 6.4.6 TimeStamp: properties: nanoSeconds: - description: The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC. + 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. + 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 + - seconds + - nanoSeconds type: object x-etsi-ref: 6.5.2 VhtCapabilities: properties: vhtCapInfo: - description: VHT capabilities Info as defined in IEEE 802.11-2016 [8]. + description: 'VHT capabilities Info as defined in IEEE 802.11-2016 [8].' format: uint32 type: integer x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: UInt32 vhtMcsNss: - description: Supported VHT-MCS and NSS Set as defined in IEEE 802.11-2016 [8]. - format: int64 + description: 'Supported VHT-MCS and NSS Set as defined in IEEE 802.11-2016 [8].' + format: uint64 type: integer x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: UInt64 required: - - vhtCapInfo - - vhtMcsNss + - vhtCapInfo + - vhtMcsNss type: object x-etsi-ref: 6.5.15 WanMetrics: properties: downlinkLoad: - description: 1-octet positive integer representing the current percentage loading of the downlink WAN connection, scaled linearly with 255 representing 100 %, as measured over an interval the duration of which is reported in Load Measurement Duration. In cases where the downlink load is unknown to the AP, the value is set to zero. + description: "1-octet positive integer representing the current percentage loading of the downlink WAN connection, scaled linearly with 255 representing 100\_%, as measured over an interval the duration of which is reported in Load Measurement Duration. In cases where the downlink load is unknown to the AP, the value is set to zero." format: uint8 type: integer x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: UInt8 downlinkSpeed: - description: 4-octet positive integer whose value is an estimate of the WAN Backhaul link current downlink speed in kilobits per second. + description: >- + 4-octet positive integer whose value is an estimate of the WAN + Backhaul link current downlink speed in kilobits per second. format: uint32 type: integer x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint32 lmd: - description: The LMD (Load Measurement Duration) field is a 2-octet positive integer representing the duration over which the Downlink Load and Uplink Load have been measured, in tenths of a second. When the actual load measurement duration is greater than the maximum value, the maximum value will be reported. The value of the LMD field is set to 0 when neither the uplink nor downlink load can be computed. When the uplink and downlink loads are computed over different intervals, the maximum interval is reported. + description: >- + The LMD (Load Measurement Duration) field is a 2-octet positive + integer representing the duration over which the Downlink Load and + Uplink Load have been measured, in tenths of a second. When the + actual load measurement duration is greater than the maximum value, + the maximum value will be reported. The value of the LMD field is + set to 0 when neither the uplink nor downlink load can be computed. + When the uplink and downlink loads are computed over different + intervals, the maximum interval is reported. format: uint16 type: integer x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint16 uplinkLoad: - description: 1-octet positive integer representing the current percentage loading of the uplink WAN connection, scaled linearly with 255 representing 100 %, as measured over an interval, the duration of which is reported in Load Measurement Duration. In cases where the uplink load is unknown to the AP, the value is set to zero. + description: "1-octet positive integer representing the current percentage loading of the uplink WAN connection, scaled linearly with 255 representing 100\_%, as measured over an interval, the duration of which is reported in Load Measurement Duration. In cases where the uplink load is unknown to the AP, the value is set to zero." format: uint8 type: integer x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint8 uplinkSpeed: - description: 4-octet positive integer whose value is an estimate of the WAN Backhaul link's current uplink speed in kilobits per second. + description: >- + 4-octet positive integer whose value is an estimate of the WAN + Backhaul link's current uplink speed in kilobits per second. format: uint32 type: integer x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: UInt32 wanInfo: - description: Info about WAN link status, link symmetricity and capacity currently used. + description: >- + Info about WAN link status, link symmetricity and capacity currently + used. format: uint8 type: integer x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint8 required: - - wanInfo - - downlinkSpeed - - uplinkSpeed - - downlinkLoad - - uplinkLoad - - lmd + - wanInfo + - downlinkSpeed + - uplinkSpeed + - downlinkLoad + - uplinkLoad + - lmd type: object x-etsi-ref: 6.5.6 + WebsockNotifConfig: + properties: + requestWebsocketUri: + description: >- + Set to true by the service consumer to indicate that Websocket + delivery is requested. + type: boolean + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: Boolean + websocketUri: + description: >- + Set by WAIS to indicate to the service consumer the + Websocket URI to be used for delivering notifications. + type: string + type: object + x-etsi-ref: 6.3.6 WlanCapabilities: properties: dmg: - # description': Information about Access Point DMG capabilities as defined in IEEE 802.11-2016 [8]. - # x-etsi-mec-cardinality': 0..1 - # x-etsi-mec-origin-type': DmgCapabilities $ref: '#/components/schemas/DmgCapabilities' edmg: - # description': Information about Access Point EDMG capabilities as defined in draft IEEE P802.11/D4.0 [i.11]. - # x-etsi-mec-cardinality': 0..1 - # x-etsi-mec-origin-type': EdmgCapabilities $ref: '#/components/schemas/EdmgCapabilities' he: - # description': Information about Access Point HE capabilities as defined in FFS. - # x-etsi-mec-cardinality': 0..1 - # x-etsi-mec-origin-type': HeCapabilities $ref: '#/components/schemas/HeCapabilities' ht: - # description': Information about Access Point HT capabilities as defined in IEEE 802.11-2016 [8]. - # x-etsi-mec-cardinality': 0..1 - # x-etsi-mec-origin-type': HtCapabilities $ref: '#/components/schemas/HtCapabilities' vht: - # description': Information about Access Point VHT capabilities as defined in IEEE 802.11-2016 [8]. - # x-etsi-mec-cardinality': 0..1 - # x-etsi-mec-origin-type': VhtCapabilities $ref: '#/components/schemas/VhtCapabilities' type: object x-etsi-ref: 6.5.4 diff --git a/proto3/.openapi-generator-ignore b/proto3/.openapi-generator-ignore new file mode 100644 index 0000000000000000000000000000000000000000..7484ee590a3894506cf063799b885428f95a71be --- /dev/null +++ b/proto3/.openapi-generator-ignore @@ -0,0 +1,23 @@ +# OpenAPI Generator Ignore +# Generated by openapi-generator https://github.com/openapitools/openapi-generator + +# Use this file to prevent files from being overwritten by the generator. +# The patterns follow closely to .gitignore or .dockerignore. + +# As an example, the C# client generator defines ApiClient.cs. +# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: +#ApiClient.cs + +# You can match any string of characters against a directory, file or extension with a single asterisk (*): +#foo/*/qux +# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux + +# You can recursively match patterns against a directory, file or extension with a double asterisk (**): +#foo/**/qux +# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux + +# You can also negate patterns with an exclamation (!). +# For example, you can ignore all files in a docs folder with the file extension .md: +#docs/*.md +# Then explicitly reverse the ignore rule for a single file: +#!docs/README.md diff --git a/proto3/.openapi-generator/FILES b/proto3/.openapi-generator/FILES new file mode 100644 index 0000000000000000000000000000000000000000..0edf3d5b01ed8417f0e7812607d9894c8d8a8a29 --- /dev/null +++ b/proto3/.openapi-generator/FILES @@ -0,0 +1,69 @@ +.openapi-generator-ignore +README.md +models/ap_associated.proto +models/ap_identity.proto +models/ap_info.proto +models/ap_location.proto +models/assoc_sta_notification.proto +models/assoc_sta_subscription.proto +models/assoc_sta_subscription_links.proto +models/assoc_sta_subscription_notification_event.proto +models/beacon_report.proto +models/beacon_reporting_config.proto +models/beacon_request_config.proto +models/bss_capabilities.proto +models/bss_load.proto +models/bssid_info.proto +models/channel_load.proto +models/channel_load_config.proto +models/civic_location.proto +models/dmg_capabilities.proto +models/edmg_capabilities.proto +models/expiry_notification.proto +models/expiry_notification_links.proto +models/ext_bss_load.proto +models/geo_location.proto +models/he_capabilities.proto +models/ht_capabilities.proto +models/inline_notification.proto +models/inline_subscription.proto +models/link_type.proto +models/measurement_config.proto +models/measurement_config_link_list.proto +models/measurement_config_link_list_links.proto +models/measurement_config_link_list_measurement_config.proto +models/measurement_config_links.proto +models/measurement_info.proto +models/measurement_report_notification.proto +models/measurement_report_subscription.proto +models/neighbor_report.proto +models/neighbor_report_config.proto +models/o_bss_load.proto +models/problem_details.proto +models/reported_beacon_frame_info.proto +models/reporting_reason_qo_s_counters.proto +models/reporting_reason_sta_counters.proto +models/rssi.proto +models/sta_counter_trigger_condition.proto +models/sta_data_rate.proto +models/sta_data_rate_notification.proto +models/sta_data_rate_subscription.proto +models/sta_data_rate_subscription_notification_event.proto +models/sta_identity.proto +models/sta_info.proto +models/sta_statistics.proto +models/sta_statistics_config.proto +models/sta_statistics_group2to9_data.proto +models/sta_statistics_group_one_data.proto +models/sta_statistics_group_zero_data.proto +models/subscription_link_list.proto +models/subscription_link_list_links.proto +models/subscription_link_list_subscription.proto +models/test_notification.proto +models/test_notification_links.proto +models/time_stamp.proto +models/vht_capabilities.proto +models/wan_metrics.proto +models/websock_notif_config.proto +models/wlan_capabilities.proto +services/wai_service.proto diff --git a/proto3/.openapi-generator/VERSION b/proto3/.openapi-generator/VERSION new file mode 100644 index 0000000000000000000000000000000000000000..1a487e1a2e3b75843b8a37f988aa239701a06f60 --- /dev/null +++ b/proto3/.openapi-generator/VERSION @@ -0,0 +1 @@ +5.0.0-beta2 \ No newline at end of file diff --git a/proto3/README.md b/proto3/README.md new file mode 100644 index 0000000000000000000000000000000000000000..de2231e8e0652160f5214bd65ff1e3240e67e3ee --- /dev/null +++ b/proto3/README.md @@ -0,0 +1,32 @@ +# gPRC for mec028 + +The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI + +## Overview +These files were generated by the [OpenAPI Generator](https://openapi-generator.tech) project. + +- API version: 2.2.1 +- Package version: +- Build package: org.openapitools.codegen.languages.ProtobufSchemaCodegen +For more information, please visit [https://forge.etsi.org/rep/mec/gs028-wai-api](https://forge.etsi.org/rep/mec/gs028-wai-api) + +## Usage + +Below are some usage examples for Go and Ruby. For other languages, please refer to https://grpc.io/docs/quickstart/. + +### Go +``` +# assuming `protoc-gen-go` has been installed with `go get -u github.com/golang/protobuf/protoc-gen-go` +mkdir /var/tmp/go/ +protoc --go_out=/var/tmp/go/ services/* +protoc --go_out=/var/tmp/go/ models/* +``` + +### Ruby +``` +# assuming `grpc_tools_ruby_protoc` has been installed via `gem install grpc-tools` +RUBY_OUTPUT_DIR="/var/tmp/ruby/mec028" +mkdir $RUBY_OUTPUT_DIR +grpc_tools_ruby_protoc --ruby_out=$RUBY_OUTPUT_DIR --grpc_out=$RUBY_OUTPUT_DIR/lib services/* +grpc_tools_ruby_protoc --ruby_out=$RUBY_OUTPUT_DIR --grpc_out=$RUBY_OUTPUT_DIR/lib models/* +``` diff --git a/proto3/models/ap_associated.proto b/proto3/models/ap_associated.proto index 022b389913f9869599e9ebc17f621014aa3a65e2..3ca7fcf1a2cce64cd13842a3524793406d886766 100644 --- a/proto3/models/ap_associated.proto +++ b/proto3/models/ap_associated.proto @@ -3,7 +3,7 @@ The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - The version of the OpenAPI document: 2.1.1 + The version of the OpenAPI document: 2.2.1 Generated by OpenAPI Generator: https://openapi-generator.tech */ @@ -16,13 +16,13 @@ package mec028; message ApAssociated { // Unique number which identifies a particular association between the station and Access Point. - string assoc_id = 1; + string assocId = 1; - // IPv4 or IPv6 address allocated for the Access Point. - repeated string ip_address = 2; + // Basic Service Set Identifier (BSSID) is a unique identifier assigned to the Access Point (as network interface controller) for communications at the data link layer of a network segment. BSSID is typically set to an access point's MAC address. + string bssid = 2; - // Unique identifier assigned to the Access Point (as network interface controller) for communications at the data link layer of a network segment. - string mac_id = 3; + // IPv4 or IPv6 address allocated for the Access Point. + repeated string ipAddress = 3; // Service Set Identifier to identify logical networks. repeated string ssid = 4; diff --git a/proto3/models/ap_identity.proto b/proto3/models/ap_identity.proto index cb473e160e567edef77a43d4bd1d72e755960cc3..9ef6d83e7e33dcbe55d1efaa7c8e7500a7a7c19e 100644 --- a/proto3/models/ap_identity.proto +++ b/proto3/models/ap_identity.proto @@ -3,7 +3,7 @@ The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - The version of the OpenAPI document: 2.1.1 + The version of the OpenAPI document: 2.2.1 Generated by OpenAPI Generator: https://openapi-generator.tech */ @@ -15,13 +15,13 @@ package mec028; message ApIdentity { - // IPv4 or IPv6 address allocated for the Access Point. - repeated string ip_address = 1; + // Basic Service Set Identifier (BSSID) is a unique Identifier assigned to an Access Point (as network interface controller) for communications at the data link layer of a network segment. BSSID is typically set to an access point's MAC address. + string bssid = 1; - // Unique Identifier assigned to an Access Point (as network interface controller) for communications at the data link layer of a network segment. - string mac_id = 2; + // IPv4 or IPv6 address allocated for the Access Point. + repeated string ipAddress = 2; - // Service Set Identifier to identify logical networks including Basic Service Set and Extended Service Set. + // Service Set Identifier (SSID) to identify logical WLAN networks available via the Access Point. repeated string ssid = 3; } diff --git a/proto3/models/ap_info.proto b/proto3/models/ap_info.proto index 320d07990dfc658a697bc4c4e502bdf5985325df..4f15bf3bbfb5c4324ff5f8354e29c0c604c19029 100644 --- a/proto3/models/ap_info.proto +++ b/proto3/models/ap_info.proto @@ -3,7 +3,7 @@ The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - The version of the OpenAPI document: 2.1.1 + The version of the OpenAPI document: 2.2.1 Generated by OpenAPI Generator: https://openapi-generator.tech */ @@ -16,30 +16,30 @@ import public "models/ap_identity.proto"; import public "models/ap_location.proto"; import public "models/bss_load.proto"; import public "models/ext_bss_load.proto"; -import public "models/neighbor_report.proto"; +import public "models/o_bss_load.proto"; import public "models/time_stamp.proto"; import public "models/wan_metrics.proto"; import public "models/wlan_capabilities.proto"; message ApInfo { - ApIdentity ap_id = 1; + ApIdentity apId = 1; - ApLocation ap_location = 2; + ApLocation apLocation = 2; - NeighborReport ap_neighbor = 3; - - BssLoad bss_load = 4; + BssLoad bssLoad = 3; // Channel configured for the Access Point. - int32 channel = 5; + int32 channel = 4; + + ExtBssLoad extBssLoad = 5; - ExtBssLoad ext_bss_load = 6; + OBssLoad oBssLoad = 6; - TimeStamp time_stamp = 7; + TimeStamp timeStamp = 7; - WanMetrics wan_metrics = 8; + WanMetrics wanMetrics = 8; - WlanCapabilities wlan_cap = 9; + WlanCapabilities wlanCap = 9; } diff --git a/proto3/models/ap_location.proto b/proto3/models/ap_location.proto index 65ef291493119b8f9c0136e564d11f8186c08cc4..d6f7b145c9f75bb230934166c28448e1700c02f1 100644 --- a/proto3/models/ap_location.proto +++ b/proto3/models/ap_location.proto @@ -3,7 +3,7 @@ The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - The version of the OpenAPI document: 2.1.1 + The version of the OpenAPI document: 2.2.1 Generated by OpenAPI Generator: https://openapi-generator.tech */ @@ -17,7 +17,7 @@ import public "models/geo_location.proto"; message ApLocation { - CivicLocation civic_location = 1; + CivicLocation civicLocation = 1; GeoLocation geolocation = 2; diff --git a/proto3/models/assoc_sta_notification.proto b/proto3/models/assoc_sta_notification.proto index 8349dde2304c193e433b189eab97604285a50b5a..e6a0e79da7066f1d3dbd2710115e4e1e6e013ae6 100644 --- a/proto3/models/assoc_sta_notification.proto +++ b/proto3/models/assoc_sta_notification.proto @@ -3,7 +3,7 @@ The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - The version of the OpenAPI document: 2.1.1 + The version of the OpenAPI document: 2.2.1 Generated by OpenAPI Generator: https://openapi-generator.tech */ @@ -18,14 +18,14 @@ import public "models/time_stamp.proto"; message AssocStaNotification { - ApIdentity ap_id = 1; + ApIdentity apId = 1; // Shall be set to \"AssocStaNotification\". - string notification_type = 2; + string notificationType = 2; // Identifier(s) to uniquely specify the client station(s) associated. - repeated StaIdentity sta_id = 3; + repeated StaIdentity staId = 3; - TimeStamp time_stamp = 4; + TimeStamp timeStamp = 4; } diff --git a/proto3/models/assoc_sta_subscription.proto b/proto3/models/assoc_sta_subscription.proto index 07a881fe4c0ebcc5110924e52a75170ab56bdf7f..6d78b4ad76d636839d3d53495e55004d695d3d1d 100644 --- a/proto3/models/assoc_sta_subscription.proto +++ b/proto3/models/assoc_sta_subscription.proto @@ -3,7 +3,7 @@ The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - The version of the OpenAPI document: 2.1.1 + The version of the OpenAPI document: 2.2.1 Generated by OpenAPI Generator: https://openapi-generator.tech */ @@ -14,20 +14,31 @@ package mec028; import public "models/ap_identity.proto"; import public "models/assoc_sta_subscription_links.proto"; +import public "models/assoc_sta_subscription_notification_event.proto"; import public "models/time_stamp.proto"; +import public "models/websock_notif_config.proto"; message AssocStaSubscription { - AssocStaSubscriptionLinks underscorelinks = 1; + AssocStaSubscriptionLinks Underscorelinks = 1; - ApIdentity ap_id = 2; + ApIdentity apId = 2; - // URI selected by the service consumer to receive notifications on the subscribed WLAN information. This shall be included both in the request and in response. - string callback_reference = 3; + string callbackReference = 3; - TimeStamp expiry_deadline = 4; + TimeStamp expiryDeadline = 4; + + AssocStaSubscriptionNotificationEvent notificationEvent = 5; + + // Set for periodic notification reporting. Value indicates the notification period in seconds. + int32 notificationPeriod = 6; + + // Set to TRUE by the service consumer to request a test notification on the callbackReference URI to determine if it is reachable by the WAIS for notifications. + bool requestTestNotification = 7; // Shall be set to \"AssocStaSubscription\". - string subscription_type = 5; + string subscriptionType = 8; + + WebsockNotifConfig websockNotifConfig = 9; } diff --git a/proto3/models/assoc_sta_subscription_links.proto b/proto3/models/assoc_sta_subscription_links.proto index 3a65922a6fb9dfbd8019ec15dfc37b9eeeadd21d..d5c0da1d5600e20d4da14edcb0c4d12763f2d8be 100644 --- a/proto3/models/assoc_sta_subscription_links.proto +++ b/proto3/models/assoc_sta_subscription_links.proto @@ -3,7 +3,7 @@ The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - The version of the OpenAPI document: 2.1.1 + The version of the OpenAPI document: 2.2.1 Generated by OpenAPI Generator: https://openapi-generator.tech */ diff --git a/proto3/models/assoc_sta_subscription_notification_event.proto b/proto3/models/assoc_sta_subscription_notification_event.proto new file mode 100644 index 0000000000000000000000000000000000000000..7365709a101503cdbbd98379736ab09ff8e1dd36 --- /dev/null +++ b/proto3/models/assoc_sta_subscription_notification_event.proto @@ -0,0 +1,29 @@ +/* + ETSI GS MEC 028 - WLAN Access Information API + + The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI + + The version of the OpenAPI document: 2.2.1 + + Generated by OpenAPI Generator: https://openapi-generator.tech +*/ + +syntax = "proto3"; + +package mec028; + + +message AssocStaSubscriptionNotificationEvent { + + // Number of connected stations threshold for trigger-based event reporting. + int32 threshold = 1; + + // Trigger for the notification: 1 = Notification issued when the number of connected stations is greater than or equal to the threshold. 2 = Notification issued when the number of connected stations is less than or equal to the threshold. + enum TriggerEnum { + _1 = 0; + _2 = 1; + } + + TriggerEnum trigger = 2; + +} diff --git a/proto3/models/associated_stations.proto b/proto3/models/associated_stations.proto deleted file mode 100644 index 5ca0be8565609ab91a0e4464c332fd8691c9e314..0000000000000000000000000000000000000000 --- a/proto3/models/associated_stations.proto +++ /dev/null @@ -1,27 +0,0 @@ -/* - ETSI GS MEC 028 - WLAN Access Information API - - The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - - The version of the OpenAPI document: 2.1.1 - - Generated by OpenAPI Generator: https://openapi-generator.tech -*/ - -syntax = "proto3"; - -package mec028; - - -message AssociatedStations { - - // Unique number which identifies a particular association between an Access Point and a station. - string assoc_id = 1; - - // IPv4 or IPv6 address allocated for the station associated with the Access Point. - repeated string ip_address = 2; - - // Unique identifier assigned to a station (as network interface controller) for communications at the data link layer of a network segment. - string mac_id = 3; - -} diff --git a/proto3/models/beacon_report.proto b/proto3/models/beacon_report.proto index f9dada9824aa12d1a6b3180aaad5077bd46b5b6c..9f0fbea8b5dded33be033d299b86cb51adf9ba63 100644 --- a/proto3/models/beacon_report.proto +++ b/proto3/models/beacon_report.proto @@ -3,7 +3,7 @@ The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - The version of the OpenAPI document: 2.1.1 + The version of the OpenAPI document: 2.2.1 Generated by OpenAPI Generator: https://openapi-generator.tech */ @@ -12,25 +12,40 @@ syntax = "proto3"; package mec028; +import public "models/reported_beacon_frame_info.proto"; import public "models/sta_identity.proto"; message BeaconReport { - // The BSSID field indicates the BSSID of the BSS(s) for which a beacon report has been received. - repeated string bss_id = 1; + // The Antenna ID field contains the identifying number for the antenna(s) used for this measurement. Antenna ID is defined in section 9.4.2.40 of IEEE 802.11-2016 [8]. + int32 antennaId = 1; + + // Indicates the BSSID of the BSS for which a beacon report has been received. + string bssid = 2; // Channel number where the beacon was received. - int32 channel_id = 2; + int32 channel = 3; // Measurement ID of the Measurement configuration applied to this Beacon Report. - string measurement_id = 3; + string measurementId = 4; + + // Operating Class field indicates an operating class value as defined in Annex E within IEEE 802.11-2016 [8]. + int32 operatingClass = 5; + + // The Parent TSF field contains the lower 4 octets of the measuring STA's TSF timer value at the start of reception of the first octet of the timestamp field of the reported Beacon, Measurement Pilot, or Probe Response frame at the time the Beacon, Measurement Pilot, or Probe Response frame being reported was received. + int32 parentTsf = 6; + + // RCPI indicates the received channel power of the Beacon, Measurement Pilot, or Probe Response frame, which is a logarithmic function of the received signal power, as defined in section 9.4.2.38 of IEEE 802.11-2016 [8]. + int32 rcpi = 7; + + ReportedBeaconFrameInfo reportedFrameInfo = 8; - // As in table T9-89 of IEEE 802.11-2012 [8]. - int32 reporting_condition = 4; + // RSNI indicates the received signal-to-noise indication for the Beacon, Measurement Pilot, or Probe Response frame, as described in section 9.4.2.41 of IEEE 802.11-2016 [8]. + int32 rsni = 9; - // (Optional) The SSID subelement indicates the ESS(s) or IBSS(s) for which a beacon report is received. - repeated string ss_id = 5; + // The SSID subelement indicates the ESS or IBSS for which a beacon report is received. + string ssid = 10; - StaIdentity sta_id = 6; + StaIdentity staId = 11; } diff --git a/proto3/models/beacon_reporting_config.proto b/proto3/models/beacon_reporting_config.proto new file mode 100644 index 0000000000000000000000000000000000000000..1141c08023c7e94381c1e84c96afba3c75b44401 --- /dev/null +++ b/proto3/models/beacon_reporting_config.proto @@ -0,0 +1,24 @@ +/* + ETSI GS MEC 028 - WLAN Access Information API + + The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI + + The version of the OpenAPI document: 2.2.1 + + Generated by OpenAPI Generator: https://openapi-generator.tech +*/ + +syntax = "proto3"; + +package mec028; + + +message BeaconReportingConfig { + + // Reporting condition for the Beacon Report as per Table 9-89 of IEEE 802.11-2016 [8]: 0 = Report to be issued after each measurement. 1 = measured RCPI level is greater than the threshold. 2 = measured RCPI level is less than the threshold. 3 = measured RSNI level is greater than the threshold. 4 = measured RSNI level is less than the threshold. 5 = measured RCPI level is greater than a threshold defined by an offset from the serving AP's reference RCPI. 6 = measured RCPI level is less than a threshold defined by an offset from the serving AP's reference RCPI. 7 = measured RSNI level is greater than a threshold defined by an offset from the serving AP's reference RSNI. 8 = measured RSNI level is less than a threshold defined by an offset from the serving AP's reference RSNI. 9 = measured RCPI level is in a range bound by the serving AP's reference RCPI and an offset from the serving AP's reference RCPI. 10 = measured RSNI level is in a range bound by the serving AP's reference RSNI and an offset from the serving AP's reference RSNI. + int32 reportingCondition = 1; + + // The threshold subfield contains either the threshold value or the offset value to be used for conditional reporting. For reportingCondition subfield with values 1 and 2, the threshold value is a logarithmic function of the received signal power, as defined in section 9.4.2.38 of IEEE 802.11-2016 [8]. For reportingCondition subfield values 3 and 4, the threshold value is a logarithmic function of the signal-to-noise ratio, as described in section 9.4.2.41 of IEEE 802.11-2016 [8]. For reportingCondition subfield values 5 to 10, the offset value is an 8-bit 2s complement integer in units of 0,5 dBm. The indicated reporting condition applies individually to each measured Beacon, Measurement Pilot, or Probe Response frame. + int32 threshold = 2; + +} diff --git a/proto3/models/beacon_request_config.proto b/proto3/models/beacon_request_config.proto index 352a9523c40a67eae12ee4b4f17e18b8b279609a..44a1f4e56f879622be23ac0451b447f8131f36e5 100644 --- a/proto3/models/beacon_request_config.proto +++ b/proto3/models/beacon_request_config.proto @@ -3,7 +3,7 @@ The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - The version of the OpenAPI document: 2.1.1 + The version of the OpenAPI document: 2.2.1 Generated by OpenAPI Generator: https://openapi-generator.tech */ @@ -12,25 +12,25 @@ syntax = "proto3"; package mec028; -import public "models/sta_identity.proto"; +import public "models/beacon_reporting_config.proto"; message BeaconRequestConfig { - // The BSSID field indicates the BSSID of the BSS(s) for which a beacon report is requested. When requesting beacon reports for all BSSs on the channel, the BSSID field contains the wildcard BSSID. - repeated string bss_id = 1; + BeaconReportingConfig beaconReportingConf = 1; - // Channel number to scan. A Channel Number of 0 indicates a request to make iterative measurements for all supported channels in the Operating Class where the measurement is permitted on the channel and the channel is valid for the current regulatory domain. A Channel Number of 255 indicates a request to make iterative measurements for all supported channels in the current Operating Class listed in the latest AP Channel Report received from the serving AP. - int32 channel_id = 2; + // The BSSID field indicates the BSS for which a beacon report is requested. If absent, the requested beacon reports should include all BSSs on the channel. + string bssid = 2; - // 0 for passive. 1 for active. 2 for beacon table. - int32 measurement_mode = 3; + // Channel number to scan. A Channel Number of 0 indicates a request to make iterative measurements for all supported channels in the Operating Class where the measurement is permitted on the channel and the channel is valid for the current regulatory domain. A Channel Number of 255 indicates a request to make iterative measurements for all supported channels in the current Operating Class listed in the latest AP Channel Report received from the serving AP. + int32 channelId = 3; - // As in table T9-89 of IEEE 802.11-2012 [8]. - int32 reporting_condition = 4; + // 0 for passive. 1 for active. 2 for beacon table. + int32 measurementMode = 4; - // (Optional) The SSID subelement indicates the ESS(s) or IBSS(s) for which a beacon report is requested. - repeated string ss_id = 5; + // Operating Class field indicates an operating class value as defined in Annex E within IEEE 802.112016 [8]. + int32 operatingClass = 5; - StaIdentity sta_id = 6; + // The SSID subelement indicates the ESS or IBSS for which a beacon report is requested. + string ssid = 6; } diff --git a/proto3/models/bss_capabilities.proto b/proto3/models/bss_capabilities.proto new file mode 100644 index 0000000000000000000000000000000000000000..21ca64e932a0561c2418824b4860bf3c6e9bd3e9 --- /dev/null +++ b/proto3/models/bss_capabilities.proto @@ -0,0 +1,36 @@ +/* + ETSI GS MEC 028 - WLAN Access Information API + + The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI + + The version of the OpenAPI document: 2.2.1 + + Generated by OpenAPI Generator: https://openapi-generator.tech +*/ + +syntax = "proto3"; + +package mec028; + + +message BssCapabilities { + + // APSD Option implemented + bool apsd = 1; + + // Delayed Block Ack Option implemented + bool delayedBACK = 2; + + // Immediate Block Ack Option implemented + bool immediateBACK = 3; + + // QoS Option implemented + bool qos = 4; + + // Radio Measurement Activated + bool radioMeasurements = 5; + + // Spectrum Management required + bool spectrumManagement = 6; + +} diff --git a/proto3/models/bss_load.proto b/proto3/models/bss_load.proto index 3633fec0731ae88ebbb6b2ca8fcbc43fdc17fdc0..f849199c95f985304275395f5a7a29956c5bd680 100644 --- a/proto3/models/bss_load.proto +++ b/proto3/models/bss_load.proto @@ -3,7 +3,7 @@ The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - The version of the OpenAPI document: 2.1.1 + The version of the OpenAPI document: 2.2.1 Generated by OpenAPI Generator: https://openapi-generator.tech */ @@ -16,12 +16,12 @@ package mec028; message BssLoad { // Available Admission Capacity that specifies the remaining amount of medium time available via explicit admission control, in units of 32 s/s. - int32 avail_adm_cap = 1; + int32 availAdmCap = 1; // The percentage of time, linearly scaled with 255 representing 100 %, that the AP sensed the medium was busy, as indicated by either the physical or virtual Carrier Sense (CS) mechanism. - int32 channel_utilization = 2; + int32 channelUtilization = 2; // An unsigned integer that indicates the total number of STAs currently associated with this BSS. - int32 sta_count = 3; + int32 staCount = 3; } diff --git a/proto3/models/bssid_info.proto b/proto3/models/bssid_info.proto new file mode 100644 index 0000000000000000000000000000000000000000..08b7cf8a7e3bb4020fb7a2e6dd159f0242e2d2e2 --- /dev/null +++ b/proto3/models/bssid_info.proto @@ -0,0 +1,39 @@ +/* + ETSI GS MEC 028 - WLAN Access Information API + + The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI + + The version of the OpenAPI document: 2.2.1 + + Generated by OpenAPI Generator: https://openapi-generator.tech +*/ + +syntax = "proto3"; + +package mec028; + +import public "models/bss_capabilities.proto"; + +message BssidInfo { + + // The apReachability field indicates whether the AP identified by this BSSID is reachable by the STA that requested the neighbor report. Valid values: 0 = reserved 1 = not reachable 2 = unknown 3 = reachable. + int32 apReachability = 1; + + BssCapabilities capabilities = 2; + + // True indicates the AP represented by this BSSID is an AP that has set the Fine Timing Measurement Responder field of the Extended Capabilities element to 1. False indicates either that the reporting AP has dot11FineTimingMsmtRespActivated equal to false, or the reported AP has not set the Fine Timing Measurement Responder field of the Extended Capabilities element to 1 or that the Fine Timing Measurement Responder field of the reported AP is not available to the reporting AP at this time. + bool ftm = 3; + + // True indicates that the AP represented by this BSSID is an HT AP including the HT Capabilities element in its Beacons, and that the contents of that HT Capabilities element are identical to the HT Capabilities element advertised by the AP sending the report. + bool highThroughput = 4; + + // True indicates the AP represented by this BSSID is including an MDE in its Beacon frames and that the contents of that MDE are identical to the MDE advertised by the AP sending the report. + bool mobilityDomain = 5; + + // True indicates the AP identified by this BSSID supports the same security provisioning as used by the STA in its current association. False indicates either that the AP does not support the same security provisioning or that the security information is not available at this time. + bool security = 6; + + // True indicates that the AP represented by this BSSID is a VHT AP and that the VHT Capabilities element, if included as a subelement in the report, is identical in content to the VHT Capabilities element included in the AP's Beacon. + bool veryHighThroughput = 7; + +} diff --git a/proto3/models/channel_load.proto b/proto3/models/channel_load.proto new file mode 100644 index 0000000000000000000000000000000000000000..452c663dc7da6b06ea676f45eceaf7b22967d28c --- /dev/null +++ b/proto3/models/channel_load.proto @@ -0,0 +1,36 @@ +/* + ETSI GS MEC 028 - WLAN Access Information API + + The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI + + The version of the OpenAPI document: 2.2.1 + + Generated by OpenAPI Generator: https://openapi-generator.tech +*/ + +syntax = "proto3"; + +package mec028; + +import public "models/sta_identity.proto"; + +message ChannelLoad { + + // Channel number indicates the channel number for which the measurement report applies. + int32 channel = 1; + + // Proportion of measurement duration for which the measuring STA determined the channel to be busy, as a percentage of time, linearly scaled with 255 representing 100 %. + int32 channelLoad = 2; + + // Duration over which the Channel Load report was measured, in units of TUs of 1 024 µs. + int32 measurementDuration = 3; + + // Measurement ID of the Measurement configuration applied to this Channel Load Report. + string measurementId = 4; + + // Operating Class field indicates an operating class value as defined in Annex E within IEEE 802.11-2016 [8]. + int32 operatingClass = 5; + + StaIdentity staId = 6; + +} diff --git a/proto3/models/channel_load_config.proto b/proto3/models/channel_load_config.proto index 5750161ebaab6c75ac28edbf8a7aa06443d61750..036a0a33735b544632f36622d24900152f445246 100644 --- a/proto3/models/channel_load_config.proto +++ b/proto3/models/channel_load_config.proto @@ -3,7 +3,7 @@ The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - The version of the OpenAPI document: 2.1.1 + The version of the OpenAPI document: 2.2.1 Generated by OpenAPI Generator: https://openapi-generator.tech */ @@ -12,16 +12,19 @@ syntax = "proto3"; package mec028; -import public "models/ap_identity.proto"; message ChannelLoadConfig { - ApIdentity ap_id = 1; + // Channel for which the channel load report is requested. + int32 channel = 1; - // Channel number which load is reported - int32 c_channel_id = 2; + // Operating Class field indicates an operating class value as defined in Annex E within IEEE 802.11-2016 [8]. + int32 operatingClass = 2; - // Channel load as per IEEE 802.11-2012 [8], section 11.11.9.3 - int32 channel_load = 3; + // Reporting condition for the Beacon Report as per Table 9-153 of IEEE 802.11-2016 [8]: 0 = Report to be issued after each measurement. 1 = Report to be issued when Channel Load is greater than or equal to the threshold. 2 = Report to be issued when Channel Load is less than or equal to the threshold. If this optional field is not provided, channel load report should be issued after each measurement (reportingCondition = 0). + int32 reportingCondition = 3; + + // Channel Load reference value for threshold reporting. This field shall be provided for reportingCondition values 1 and 2. + int32 threshold = 4; } diff --git a/proto3/models/civic_location.proto b/proto3/models/civic_location.proto index dfd3a8e294782d47efa011dd15c5e460670c64ff..79cd43a9d6b516d7c15c03444d0b103f6d8be94e 100644 --- a/proto3/models/civic_location.proto +++ b/proto3/models/civic_location.proto @@ -3,7 +3,7 @@ The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - The version of the OpenAPI document: 2.1.1 + The version of the OpenAPI document: 2.2.1 Generated by OpenAPI Generator: https://openapi-generator.tech */ @@ -18,7 +18,7 @@ message CivicLocation { // Language string ca0 = 1; - // National subdivisions (state, canton, region,province, prefecture) + // National subdivisions (state, canton, region, province, prefecture) string ca1 = 2; // Script diff --git a/proto3/models/dmg_capabilities.proto b/proto3/models/dmg_capabilities.proto index 9181177b46031f77f089000408911045984ec0be..74c4f723a7eaee9928ef285d78489672d2a9fe6e 100644 --- a/proto3/models/dmg_capabilities.proto +++ b/proto3/models/dmg_capabilities.proto @@ -3,7 +3,7 @@ The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - The version of the OpenAPI document: 2.1.1 + The version of the OpenAPI document: 2.2.1 Generated by OpenAPI Generator: https://openapi-generator.tech */ @@ -15,28 +15,22 @@ package mec028; message DmgCapabilities { - // Extended SC MCS capabilities as defined in draft IEEE P802.11/D4.0 [i.11] - int32 ext_sc_mcs_cap = 1; + // Extended SC MCS capabilities as defined in IEEE 802.11-2016 [8]. + int32 ExtScMcsCap = 1; - // DMG AP or PCP capabilities information as defined in draft IEEE P802.11/D4.0 [i.11] - int32 dmg_ap_or_pcp_cap_info = 2; + // DMG AP or PCP capabilities information as defined in IEEE 802.11-2016 [8]. + int32 dmgApOrPcpCapInfo = 2; - // DMG station beam tracking time limit as defined in draft IEEE P802.11/D4.0 [i.11] - int32 dmg_sta_beam_track_time_limit = 3; + // DMG station beam tracking time limit as defined in IEEE 802.11-2016 [8]. + int32 dmgStaBeamTrackTimeLimit = 3; - // DMG station capabilities information as defined in draft IEEE P802.11/D4.0 [i.11] - int64 dmg_sta_cap_info = 4; + // DMG station capabilities information as defined in IEEE 802.11-2016 [8]. + int32 dmgStaCapInfo = 4; - // Number of basic A-MSDU subframes in A-MSDU as defined in draft IEEE P802.11/D4.0 [i.11] - int32 max_nr_basic_amsdu_subframes = 5; + // Number of basic A-MSDU subframes in A-MSDU as defined in IEEE 802.11-2016 [8]. + int32 maxNrBasicAmsduSubframes = 5; - // Number of short A-MSDU subframes in A-MSDU as defined in draft IEEE P802.11/D4.0 [i.11] - int32 max_nr_short_amsdu_subframes = 6; - - // SAR capabilities as defined in draft IEEE P802.11/D4.0 [i.11] - int32 sar_cap = 7; - - // TDD capabilities as defined in draft IEEE P802.11/D4.0 [i.11] - int32 tdd_cap = 8; + // Number of short A-MSDU subframes in A-MSDU as defined in IEEE 802.11-2016 [8]. + int32 maxNrShortAmsduSubframes = 6; } diff --git a/proto3/models/edmg_capabilities.proto b/proto3/models/edmg_capabilities.proto index 996b6bf4a356be688078c62aade1af443d16f4b4..1c26208f3cf800a4a85b24b2a3b7af3a013200ae 100644 --- a/proto3/models/edmg_capabilities.proto +++ b/proto3/models/edmg_capabilities.proto @@ -3,7 +3,7 @@ The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - The version of the OpenAPI document: 2.1.1 + The version of the OpenAPI document: 2.2.1 Generated by OpenAPI Generator: https://openapi-generator.tech */ @@ -15,15 +15,13 @@ package mec028; message EdmgCapabilities { - // A-MPDU parameters as defined in draft IEEE P802.11/D4.0 [i.11] - int32 ampdu_parameters = 1; + // A-MPDU parameters as defined in draft IEEE P802.11ay [i.11] + int32 ampduParameters = 1; - int32 reserved = 2; + // Supported MCS as defined in draft IEEE P802.11ay [i.11] + int32 supportedMcs = 2; - // Supported MCS as defined in draft IEEE P802.11/D4.0 [i.11] - int32 supported_mcs = 3; - - // Training parameters as defined in draft IEEE P802.11/D4.0 [i.11] - int32 trn_parameters = 4; + // Training parameters as defined in draft IEEE P802.11ay [i.11] + int32 trnParameters = 3; } diff --git a/proto3/models/expiry_notification.proto b/proto3/models/expiry_notification.proto new file mode 100644 index 0000000000000000000000000000000000000000..1968825a97659423bde9917b6271dd8c80e20464 --- /dev/null +++ b/proto3/models/expiry_notification.proto @@ -0,0 +1,27 @@ +/* + ETSI GS MEC 028 - WLAN Access Information API + + The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI + + The version of the OpenAPI document: 2.2.1 + + Generated by OpenAPI Generator: https://openapi-generator.tech +*/ + +syntax = "proto3"; + +package mec028; + +import public "models/expiry_notification_links.proto"; +import public "models/time_stamp.proto"; + +message ExpiryNotification { + + ExpiryNotificationLinks Underscorelinks = 1; + + TimeStamp expiryDeadline = 2; + + // Shall be set to \"ExpiryNotification\". + string notificationType = 3; + +} diff --git a/proto3/models/expiry_notification_links.proto b/proto3/models/expiry_notification_links.proto new file mode 100644 index 0000000000000000000000000000000000000000..60920b66e3ac4b1220e474eaf492b21c5d0b856a --- /dev/null +++ b/proto3/models/expiry_notification_links.proto @@ -0,0 +1,21 @@ +/* + ETSI GS MEC 028 - WLAN Access Information API + + The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI + + The version of the OpenAPI document: 2.2.1 + + Generated by OpenAPI Generator: https://openapi-generator.tech +*/ + +syntax = "proto3"; + +package mec028; + +import public "models/link_type.proto"; + +message ExpiryNotificationLinks { + + LinkType subscription = 1; + +} diff --git a/proto3/models/ext_bss_load.proto b/proto3/models/ext_bss_load.proto index 2307570d0e4a95b179220163b6b6564cb39d3646..41ce8022a6896497678f5db3313b4b91baef5f4c 100644 --- a/proto3/models/ext_bss_load.proto +++ b/proto3/models/ext_bss_load.proto @@ -3,7 +3,7 @@ The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - The version of the OpenAPI document: 2.1.1 + The version of the OpenAPI document: 2.2.1 Generated by OpenAPI Generator: https://openapi-generator.tech */ @@ -16,18 +16,18 @@ package mec028; message ExtBssLoad { // Indicates the total number of STAs currently associated with this BSS that have a 1 in the MU Beamformee Capable field of their VHT Capabilities element. - int32 mu_mimo_sta_count = 1; + int32 muMimoStaCount = 1; // Observable loading on each of the secondary 20 MHz channel. - int32 obs_sec20_mhz_util = 2; + int32 obsSec20MhzUtil = 2; // Observable loading on each of the secondary 40 MHz channel. - int32 obs_sec40_mhz_util = 3; + int32 obsSec40MhzUtil = 3; // Observable loading on each of the secondary 80 MHz channel. - int32 obs_sec80_mhz_util = 4; + int32 obsSec80MhzUtil = 4; // The percentage of time, linearly scaled with 255 representing 100 %, that the AP has underutilized spatial domain resources for given busy time of the medium. - int32 spat_stream_under_util = 5; + int32 spatStreamUnderUtil = 5; } diff --git a/proto3/models/geo_location.proto b/proto3/models/geo_location.proto index 0e772a2fd58b61b9560535ef205a687425c77370..04a1dcab5e414ea574acf69f107556d542d228c5 100644 --- a/proto3/models/geo_location.proto +++ b/proto3/models/geo_location.proto @@ -3,7 +3,7 @@ The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - The version of the OpenAPI document: 2.1.1 + The version of the OpenAPI document: 2.2.1 Generated by OpenAPI Generator: https://openapi-generator.tech */ @@ -19,24 +19,24 @@ message GeoLocation { int32 altitude = 1; // The type description for altitude information e.g. floors or meters as defined in IETF RFC 6225 [6] - int32 altitude_type = 2; + int32 altitudeType = 2; // The uncertainty for altitude information as defined in IETF RFC 6225 [6] - int32 altitude_uncertainty = 3; + int32 altitudeUncertainty = 3; // The datum value to express how coordinates are organized and related to real world as defined in IETF RFC 6225 [6] int32 datum = 4; // The latitude value of location as defined in IETF RFC 6225 [6] - int64 lat = 5; + int32 lat = 5; // The uncertainty for Latitude information as defined in IETF RFC 6225 [6] - int32 lat_uncertainty = 6; + int32 latUncertainty = 6; // The longitude value of location as defined in IETF RFC 6225 [6] - int64 long = 7; + int32 long = 7; // The uncertainty for Longitude information as defined in IETF RFC 6225 [6] - int32 long_uncertainty = 8; + int32 longUncertainty = 8; } diff --git a/proto3/models/he_capabilities.proto b/proto3/models/he_capabilities.proto index 5480faf33b98aeee56a351ca6546e5712a781826..6e6c0c1be88a83061b63526c8b5388677962b18e 100644 --- a/proto3/models/he_capabilities.proto +++ b/proto3/models/he_capabilities.proto @@ -3,7 +3,7 @@ The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - The version of the OpenAPI document: 2.1.1 + The version of the OpenAPI document: 2.2.1 Generated by OpenAPI Generator: https://openapi-generator.tech */ @@ -16,15 +16,12 @@ package mec028; message HeCapabilities { // MAC capabilities of an Access Point. - int32 he_mac_cap_info = 1; + int32 heMacCapInfo = 1; // PHY capabilities of an Access Point. - int32 he_phy_capinfo = 2; - - // PPE Threshold determines the nominal packet padding value for a HE PPDU. - int32 ppe_thresholds = 3; + int32 hePhyCapinfo = 2; // Supported MCS and NSS Set. - int32 supported_he_mcs_nss_set = 4; + int32 supportedHeMcsNssSet = 3; } diff --git a/proto3/models/ht_capabilities.proto b/proto3/models/ht_capabilities.proto index 3f80b6ff97c66ea5b41e0437551875a5268d7397..d41c3c1fb403318908c6d85d4d17fb28fa94f623 100644 --- a/proto3/models/ht_capabilities.proto +++ b/proto3/models/ht_capabilities.proto @@ -3,7 +3,7 @@ The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - The version of the OpenAPI document: 2.1.1 + The version of the OpenAPI document: 2.2.1 Generated by OpenAPI Generator: https://openapi-generator.tech */ @@ -16,21 +16,21 @@ package mec028; message HtCapabilities { // A-MPDU parameters as defined in IEEE 802.11-2016 [8]. - int32 ampdu_parameters = 1; + int32 ampduParameters = 1; // ASEL capabilities as defined in IEEE 802.11-2016 [8]. - int32 asel_cap = 2; + int32 aselCap = 2; // HT Capability Information as defined in IEEE 802.11-2016 [8]. - int32 ht_capability_info = 3; + int32 htCapabilityInfo = 3; // Extended HT Capabilities as defined in IEEE 802.11-2016 [8]. - int32 ht_extended_cap = 4; + int32 htExtendedCap = 4; // Supported MCS set as defined in IEEE 802.11-2016 [8]. - int64 supported_mcs_set = 5; + int32 supportedMcsSet = 5; // Transmit Beamforming Capabilities as defined in IEEE 802.11-2016 [8]. - int32 tx_beam_form_cap = 6; + int32 txBeamFormCap = 6; } diff --git a/proto3/models/inline_notification.proto b/proto3/models/inline_notification.proto index 3dcac7e62465cbaa70df59d83b9d275cb682eba1..2e13ea841a122e3b69a864d803cdbf14ed32114a 100644 --- a/proto3/models/inline_notification.proto +++ b/proto3/models/inline_notification.proto @@ -1,10 +1,10 @@ /* ETSI GS MEC 028 - WLAN Access Information API - + The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - - The version of the OpenAPI document: 2.1.1 - + + The version of the OpenAPI document: 2.2.1 + Generated by OpenAPI Generator: https://openapi-generator.tech */ @@ -12,26 +12,14 @@ syntax = "proto3"; package mec028; -import public "models/ap_identity.proto"; import public "models/assoc_sta_notification.proto"; -import public "models/sta_data_rate.proto"; import public "models/sta_data_rate_notification.proto"; -import public "models/sta_identity.proto"; -import public "models/time_stamp.proto"; +import public "models/measurement_report_notification.proto"; message InlineNotification { - - ApIdentity ap_id = 1; - - // Shall be set to \"StaDataRateNotification\". - string notification_type = 2; - - // Identifier(s) to uniquely specify the client station(s) associated. - repeated StaIdentity sta_id = 3; - - TimeStamp time_stamp = 4; - - // Data rates of a client station. - repeated StaDataRate sta_data_rate = 5; - + oneof notification { + AssocStaNotification assocStaNotification = 1; + StaDataRateNotification staDataRateNotification = 2; + MeasurementReportNotification measurementReportNotification = 3; + } } diff --git a/proto3/models/inline_subscription.proto b/proto3/models/inline_subscription.proto index 28d4405c90e40fbb602be8a739f279ca0acd3053..656730e659299911e0753b858c94f7ada16d811b 100644 --- a/proto3/models/inline_subscription.proto +++ b/proto3/models/inline_subscription.proto @@ -1,10 +1,10 @@ /* ETSI GS MEC 028 - WLAN Access Information API - + The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - - The version of the OpenAPI document: 2.1.1 - + + The version of the OpenAPI document: 2.2.1 + Generated by OpenAPI Generator: https://openapi-generator.tech */ @@ -12,28 +12,14 @@ syntax = "proto3"; package mec028; -import public "models/ap_identity.proto"; import public "models/assoc_sta_subscription.proto"; -import public "models/assoc_sta_subscription_links.proto"; import public "models/sta_data_rate_subscription.proto"; -import public "models/sta_identity.proto"; -import public "models/time_stamp.proto"; +import public "models/measurement_report_subscription.proto"; message InlineSubscription { - - AssocStaSubscriptionLinks underscorelinks = 1; - - ApIdentity ap_id = 2; - - // URI selected by the service consumer to receive notifications on the subscribed WLAN Access Information Service. This shall be included both in the request and in response. - string callback_reference = 3; - - TimeStamp expiry_deadline = 4; - - // Shall be set to \"StaDataRateSubscription\". - string subscription_type = 5; - - // Identifier(s) to uniquely specify the target client station(s) for the subscription - repeated StaIdentity sta_id = 6; - + oneof notification { + AssocStaSubscription assocStaSubscription = 1; + StaDataRateSubscription staDataRateSubscription = 2; + MeasurementReportSubscription measurementReportSubscription = 3; + } } diff --git a/proto3/models/link_type.proto b/proto3/models/link_type.proto index 52573313a5ba0fa9a899e447c16567c94f799c74..9385724e02423977867d40f8e0839804f9378119 100644 --- a/proto3/models/link_type.proto +++ b/proto3/models/link_type.proto @@ -3,7 +3,7 @@ The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - The version of the OpenAPI document: 2.1.1 + The version of the OpenAPI document: 2.2.1 Generated by OpenAPI Generator: https://openapi-generator.tech */ @@ -15,7 +15,6 @@ package mec028; message LinkType { - // URI referring to a resource string href = 1; } diff --git a/proto3/models/measurement_config.proto b/proto3/models/measurement_config.proto index 48631e09a9c860bd39525113bcecc6778d03c334..b76934b9a0c38cad19eff4a04dc0b79018927bc4 100644 --- a/proto3/models/measurement_config.proto +++ b/proto3/models/measurement_config.proto @@ -3,7 +3,7 @@ The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - The version of the OpenAPI document: 2.1.1 + The version of the OpenAPI document: 2.2.1 Generated by OpenAPI Generator: https://openapi-generator.tech */ @@ -12,25 +12,20 @@ syntax = "proto3"; package mec028; -import public "models/beacon_request_config.proto"; -import public "models/channel_load_config.proto"; -import public "models/sta_statistics_config.proto"; +import public "models/measurement_config_links.proto"; +import public "models/measurement_info.proto"; +import public "models/sta_identity.proto"; message MeasurementConfig { - BeaconRequestConfig beacon_request = 1; + MeasurementConfigLinks Underscorelinks = 1; - ChannelLoadConfig channel_load = 2; + // Unique identifier allocated by the service consumer to identify measurement reports (within sta_information query), associated with this measurement configuration. + string measurementId = 2; - // Duration of the measurement, shall be lower than Maximum Measurement Duration in TU as defined in section 11.11.4 of IEEE 802.11 [8]. - int32 measurement_duration = 3; + MeasurementInfo measurementInfo = 3; - // Identifier of this measurement configuration. - string measurement_id = 4; - - // Random interval to be used for starting the measurement. In units of TU as specifed in section 11.11.3 of IEEE 802.11 [8]. - int32 randomn_interval = 5; - - StaStatisticsConfig sta_statistics = 6; + // Identifier(s) to uniquely specify the target client station(s) for the measurement configuration. + repeated StaIdentity staId = 4; } diff --git a/proto3/models/measurement_config_link_list.proto b/proto3/models/measurement_config_link_list.proto new file mode 100644 index 0000000000000000000000000000000000000000..477263aa15d3c80aefe855a44b631f727c69039f --- /dev/null +++ b/proto3/models/measurement_config_link_list.proto @@ -0,0 +1,24 @@ +/* + ETSI GS MEC 028 - WLAN Access Information API + + The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI + + The version of the OpenAPI document: 2.2.1 + + Generated by OpenAPI Generator: https://openapi-generator.tech +*/ + +syntax = "proto3"; + +package mec028; + +import public "models/measurement_config_link_list_links.proto"; +import public "models/measurement_config_link_list_measurement_config.proto"; + +message MeasurementConfigLinkList { + + MeasurementConfigLinkListLinks Underscorelinks = 1; + + repeated MeasurementConfigLinkListMeasurementConfig measurementConfig = 2; + +} diff --git a/proto3/models/measurement_config_link_list_links.proto b/proto3/models/measurement_config_link_list_links.proto new file mode 100644 index 0000000000000000000000000000000000000000..ba3cc98feb80ac8f7fc8c67a3dae294e35401a44 --- /dev/null +++ b/proto3/models/measurement_config_link_list_links.proto @@ -0,0 +1,21 @@ +/* + ETSI GS MEC 028 - WLAN Access Information API + + The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI + + The version of the OpenAPI document: 2.2.1 + + Generated by OpenAPI Generator: https://openapi-generator.tech +*/ + +syntax = "proto3"; + +package mec028; + +import public "models/link_type.proto"; + +message MeasurementConfigLinkListLinks { + + LinkType self = 1; + +} diff --git a/proto3/models/measurement_config_link_list_measurement_config.proto b/proto3/models/measurement_config_link_list_measurement_config.proto new file mode 100644 index 0000000000000000000000000000000000000000..e85c2116694f911dc8437719ed9e4fe18a369259 --- /dev/null +++ b/proto3/models/measurement_config_link_list_measurement_config.proto @@ -0,0 +1,24 @@ +/* + ETSI GS MEC 028 - WLAN Access Information API + + The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI + + The version of the OpenAPI document: 2.2.1 + + Generated by OpenAPI Generator: https://openapi-generator.tech +*/ + +syntax = "proto3"; + +package mec028; + + +message MeasurementConfigLinkListMeasurementConfig { + + // The URI referring to a measurement configuration. + string href = 1; + + // Unique identifier allocated by the service consumer to identify measurement reports associated with this measurement configuration. + string measurementId = 2; + +} diff --git a/proto3/models/measurement_config_links.proto b/proto3/models/measurement_config_links.proto new file mode 100644 index 0000000000000000000000000000000000000000..6cf6d80a79bf219bdc33414e367fb1a65659268e --- /dev/null +++ b/proto3/models/measurement_config_links.proto @@ -0,0 +1,21 @@ +/* + ETSI GS MEC 028 - WLAN Access Information API + + The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI + + The version of the OpenAPI document: 2.2.1 + + Generated by OpenAPI Generator: https://openapi-generator.tech +*/ + +syntax = "proto3"; + +package mec028; + +import public "models/link_type.proto"; + +message MeasurementConfigLinks { + + LinkType self = 1; + +} diff --git a/proto3/models/measurement_info.proto b/proto3/models/measurement_info.proto new file mode 100644 index 0000000000000000000000000000000000000000..47456b5eae8c4d2a5993f6af6fbb0145661cbe9f --- /dev/null +++ b/proto3/models/measurement_info.proto @@ -0,0 +1,36 @@ +/* + ETSI GS MEC 028 - WLAN Access Information API + + The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI + + The version of the OpenAPI document: 2.2.1 + + Generated by OpenAPI Generator: https://openapi-generator.tech +*/ + +syntax = "proto3"; + +package mec028; + +import public "models/beacon_request_config.proto"; +import public "models/channel_load_config.proto"; +import public "models/neighbor_report_config.proto"; +import public "models/sta_statistics_config.proto"; + +message MeasurementInfo { + + BeaconRequestConfig beaconRequestConf = 1; + + ChannelLoadConfig channelLoadConf = 2; + + // Duration of the measurement in Time Units (TUs) of 1 024 µs, as defined in section 11.11.4 of IEEE 802.11-2016 [8]. If not provided, the underlying system may utilize a default configuration that will be indicated in resulting measurement reports. + int32 measurementDuration = 3; + + NeighborReportConfig neighborReportConf = 4; + + // Random interval to be used for starting the measurement in TUs of 1 024 µs, as specified in section 11.11.3 of IEEE 802.11-2016 [8]. If not provided, the underlying system may utilize a default configuration that will be indicated in resulting measurement reports. + int32 randomInterval = 5; + + StaStatisticsConfig staStatisticsConf = 6; + +} diff --git a/proto3/models/measurement_report_notification.proto b/proto3/models/measurement_report_notification.proto new file mode 100644 index 0000000000000000000000000000000000000000..5112cb6105e046ff287c2187c7013af74e833a18 --- /dev/null +++ b/proto3/models/measurement_report_notification.proto @@ -0,0 +1,40 @@ +/* + ETSI GS MEC 028 - WLAN Access Information API + + The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI + + The version of the OpenAPI document: 2.2.1 + + Generated by OpenAPI Generator: https://openapi-generator.tech +*/ + +syntax = "proto3"; + +package mec028; + +import public "models/beacon_report.proto"; +import public "models/channel_load.proto"; +import public "models/neighbor_report.proto"; +import public "models/sta_statistics.proto"; +import public "models/time_stamp.proto"; + +message MeasurementReportNotification { + + // Beacon Report as defined in IEEE 802.11-2016 [8]. + repeated BeaconReport beaconReport = 1; + + // Channel Load reports as seen by the station as defined in IEEE 802.11-2016 [8]. + repeated ChannelLoad channelLoad = 2; + + // Neighbor Report providing information about neighbor Access Points seen by the station as defined in IEEE 802.112016 [8]. + repeated NeighborReport neighborReport = 3; + + // Shall be set to \"MeasurementReportNotification\". + string notificationType = 4; + + // STA Statistics Report as defined in IEEE 802.11-2016 [8]. + repeated StaStatistics staStatistics = 5; + + TimeStamp timeStamp = 6; + +} diff --git a/proto3/models/measurement_report_subscription.proto b/proto3/models/measurement_report_subscription.proto new file mode 100644 index 0000000000000000000000000000000000000000..5f8c94711c720c682b6aa9218876a955ec3cbf9a --- /dev/null +++ b/proto3/models/measurement_report_subscription.proto @@ -0,0 +1,45 @@ +/* + ETSI GS MEC 028 - WLAN Access Information API + + The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI + + The version of the OpenAPI document: 2.2.1 + + Generated by OpenAPI Generator: https://openapi-generator.tech +*/ + +syntax = "proto3"; + +package mec028; + +import public "models/assoc_sta_subscription_links.proto"; +import public "models/measurement_info.proto"; +import public "models/sta_identity.proto"; +import public "models/time_stamp.proto"; +import public "models/websock_notif_config.proto"; + +message MeasurementReportSubscription { + + AssocStaSubscriptionLinks Underscorelinks = 1; + + string callbackReference = 2; + + TimeStamp expiryDeadline = 3; + + // Unique identifier allocated by the service consumer to identify measurement reports associated with this measurement subscription. + string measurementId = 4; + + MeasurementInfo measurementInfo = 5; + + // Set to TRUE by the service consumer to request a test notification on the callbackReference URI to determine if it is reachable by the WAIS for notifications. + bool requestTestNotification = 6; + + // Identifier(s) to uniquely specify the target client station(s) for the subscription. + repeated StaIdentity staId = 7; + + // Shall be set to \"MeasurementReportSubscription\". + string subscriptionType = 8; + + WebsockNotifConfig websockNotifConfig = 9; + +} diff --git a/proto3/models/neighbor_report.proto b/proto3/models/neighbor_report.proto index d2fd87e62934d85aaf09f64971316ec2371ad278..4583aceac876ce281e3d5f4c4159803f4dbf56f4 100644 --- a/proto3/models/neighbor_report.proto +++ b/proto3/models/neighbor_report.proto @@ -3,7 +3,7 @@ The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - The version of the OpenAPI document: 2.1.1 + The version of the OpenAPI document: 2.2.1 Generated by OpenAPI Generator: https://openapi-generator.tech */ @@ -12,22 +12,31 @@ syntax = "proto3"; package mec028; +import public "models/bssid_info.proto"; +import public "models/sta_identity.proto"; message NeighborReport { - // BSS Id of the Access Point that is being reported. - string bssid = 1; + // Relative value indicating the preferred ordering for this BSS as a transition candidate for roaming. 255 indicating the most preferred candidate and 1 indicating the least preferred candidate, as defined in Table 9-152 within IEEE 802.112016 [8]. + int32 bssTransitionCandidatePreference = 1; - // Additional information related to Access Point that is being reported such as AP reachability, security, key scope, Mobility Domain, HT/VHT capability and Fine Time Measurements. - int32 bssid_info = 2; + // BSSID (MAC address) of the Access Point that is being reported. + string bssid = 2; - // The channel currently used by this Access Point. - int32 channel = 3; + BssidInfo bssidInfo = 3; - // The channel set of the AP indicated by this BSSID. - int32 operating_class = 4; + // Channel field indicates a channel number, which is interpreted in the context of the indicated operating class. Channel numbers are defined in Annex E within IEEE 802.11-2016 [8]. + int32 channel = 4; - // PHY type of the AP indicated by this BSSID. It is an integer value coded according to the value of the dot11PHYType. - int32 phy_type = 5; + // Measurement ID of the Measurement configuration applied to this Neighbor Report. + string measurementId = 5; + + // Operating Class field indicates an operating class value as defined in Annex E within IEEE 802.11-2016 [8]. + int32 operatingClass = 6; + + // PHY type of the AP indicated by this BSSID. It is an integer value coded according to the value of the dot11PHYType, Annex C within IEEE 802.11-2016 [8]. 2 = dsss 4 = ofdm 5 = hrdsss 6 = erp 7 = ht 8 = dmg 9 = vht 10 = tvht + int32 phyType = 7; + + StaIdentity staId = 8; } diff --git a/proto3/models/neighbor_report_config.proto b/proto3/models/neighbor_report_config.proto new file mode 100644 index 0000000000000000000000000000000000000000..b0566ab54df3fcfc60c5ddc92bcc8ca3de533ba1 --- /dev/null +++ b/proto3/models/neighbor_report_config.proto @@ -0,0 +1,24 @@ +/* + ETSI GS MEC 028 - WLAN Access Information API + + The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI + + The version of the OpenAPI document: 2.2.1 + + Generated by OpenAPI Generator: https://openapi-generator.tech +*/ + +syntax = "proto3"; + +package mec028; + + +message NeighborReportConfig { + + // BSSID of the neighbor AP which information is intended to obtain. If no specific BSSID is given, the information will be provided for all APs matching the ssid criteria. + string bssid = 1; + + // The SSID field is optionally present. If present, it contains an SSID element. The presence of an SSID element in a Neighbor Report indicates a request for a neighbor list for the specified SSID in the SSID Element. The absence of an SSID element indicates neighbor report for the current ESS. + string ssid = 2; + +} diff --git a/proto3/models/o_bss_load.proto b/proto3/models/o_bss_load.proto new file mode 100644 index 0000000000000000000000000000000000000000..407a606e7494eb7ff1211763c2e9fc81a00b0bd5 --- /dev/null +++ b/proto3/models/o_bss_load.proto @@ -0,0 +1,33 @@ +/* + ETSI GS MEC 028 - WLAN Access Information API + + The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI + + The version of the OpenAPI document: 2.2.1 + + Generated by OpenAPI Generator: https://openapi-generator.tech +*/ + +syntax = "proto3"; + +package mec028; + + +message OBssLoad { + + // Mean of allocated traffic from this AP (BSS) in units of 32 µs per second. + int32 allocatedTrafficSelfMean = 1; + + // Standard deviation from the mean of allocation traffic from this BSS in units of 32 µs per second. + int32 allocatedTrafficSelfStdDev = 2; + + // Mean of the sum of allocated traffic from other APs on the overlapping channel in unit of 32 µs per second. + int32 allocatedTrafficShareMean = 3; + + // Standard deviation from the mean of the sum of allocated traffic from other APs on the overlapping channel in unit of 32 µs per second. + int32 allocatedTrafficShareStdDev = 4; + + // Indicates the number of other APs that are sharing the same channel as the reporting AP. + int32 overlap = 5; + +} diff --git a/proto3/models/problem_details.proto b/proto3/models/problem_details.proto index aa2dcb2748966cb19e4393678a6e96d0bb2c3bcf..7a2099120e99bec5fc940aafbb29254de748bd92 100644 --- a/proto3/models/problem_details.proto +++ b/proto3/models/problem_details.proto @@ -3,7 +3,7 @@ The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - The version of the OpenAPI document: 2.1.1 + The version of the OpenAPI document: 2.2.1 Generated by OpenAPI Generator: https://openapi-generator.tech */ diff --git a/proto3/models/reported_beacon_frame_info.proto b/proto3/models/reported_beacon_frame_info.proto new file mode 100644 index 0000000000000000000000000000000000000000..a934d9643f03eb45608502663c7ecde31865ef4b --- /dev/null +++ b/proto3/models/reported_beacon_frame_info.proto @@ -0,0 +1,24 @@ +/* + ETSI GS MEC 028 - WLAN Access Information API + + The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI + + The version of the OpenAPI document: 2.2.1 + + Generated by OpenAPI Generator: https://openapi-generator.tech +*/ + +syntax = "proto3"; + +package mec028; + + +message ReportedBeaconFrameInfo { + + // A value of 0 indicates a Beacon or Probe Response. A value of 1 indicates a Measurement Pilot frame. + int32 frameType = 1; + + // Value between 0 and 127 coded according to dot11PHYType. + int32 phyType = 2; + +} diff --git a/proto3/models/reporting_reason_qo_s_counters.proto b/proto3/models/reporting_reason_qo_s_counters.proto new file mode 100644 index 0000000000000000000000000000000000000000..9645165f264baf7c78c8dcd0464a163d0bebcb7e --- /dev/null +++ b/proto3/models/reporting_reason_qo_s_counters.proto @@ -0,0 +1,39 @@ +/* + ETSI GS MEC 028 - WLAN Access Information API + + The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI + + The version of the OpenAPI document: 2.2.1 + + Generated by OpenAPI Generator: https://openapi-generator.tech +*/ + +syntax = "proto3"; + +package mec028; + + +message ReportingReasonQoSCounters { + + // dot11QoSAckFailure + bool qosAckFailure = 1; + + // dot11QoSDiscarded + bool qosDiscarded = 2; + + // dot11QoSFailed + bool qosFailed = 3; + + // dot11QoSFrameDuplicate + bool qosFrameDuplicate = 4; + + // dot11QoSMultipleRetry + bool qosMultipleRetry = 5; + + // dot11QoSRetry + bool qosRetry = 6; + + // dot11QoSRTSFailure + bool qosRtsFailure = 7; + +} diff --git a/proto3/models/reporting_reason_sta_counters.proto b/proto3/models/reporting_reason_sta_counters.proto new file mode 100644 index 0000000000000000000000000000000000000000..dc08d15083cbcca6c7fd6b0f2cf7d8b2c11e54c4 --- /dev/null +++ b/proto3/models/reporting_reason_sta_counters.proto @@ -0,0 +1,39 @@ +/* + ETSI GS MEC 028 - WLAN Access Information API + + The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI + + The version of the OpenAPI document: 2.2.1 + + Generated by OpenAPI Generator: https://openapi-generator.tech +*/ + +syntax = "proto3"; + +package mec028; + + +message ReportingReasonStaCounters { + + // dot11AckFailure + bool ackFailure = 1; + + // dot11Failed + bool failed = 2; + + // dot11FCSError + bool fcsError = 3; + + // dot11FrameDuplicate + bool frameDuplicate = 4; + + // dot11MultipleRetry + bool multipleRetry = 5; + + // dot11Retry + bool retry = 6; + + // dot11RTSFailure + bool rtsFailure = 7; + +} diff --git a/proto3/models/rssi.proto b/proto3/models/rssi.proto index f50fb0c8bc8cff984fa14dea401607fc56c70490..97a0f0cdc258ce0e958bc5f4b97a28f18dc7ec8f 100644 --- a/proto3/models/rssi.proto +++ b/proto3/models/rssi.proto @@ -3,7 +3,7 @@ The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - The version of the OpenAPI document: 2.1.1 + The version of the OpenAPI document: 2.2.1 Generated by OpenAPI Generator: https://openapi-generator.tech */ diff --git a/proto3/models/sta_counter_trigger_condition.proto b/proto3/models/sta_counter_trigger_condition.proto new file mode 100644 index 0000000000000000000000000000000000000000..5ee03154b1b60cd02c17f0843d0e2098fe20404c --- /dev/null +++ b/proto3/models/sta_counter_trigger_condition.proto @@ -0,0 +1,39 @@ +/* + ETSI GS MEC 028 - WLAN Access Information API + + The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI + + The version of the OpenAPI document: 2.2.1 + + Generated by OpenAPI Generator: https://openapi-generator.tech +*/ + +syntax = "proto3"; + +package mec028; + + +message STACounterTriggerCondition { + + // Configure and set threshold for dot11AckFailureCount trigger + int32 ackFailureCountThreshold = 1; + + // Configure and set threshold for dot11FailedCount trigger + int32 failedCountThreshold = 2; + + // Configure and set threshold for dot11FCSErrorCount trigger + int32 fcsErrorCountThreshold = 3; + + // Configure and set threshold for dot11FrameDuplicateCount trigger + int32 frameDuplicateCountThreshold = 4; + + // Configure and set threshold for dot11MultipleRetryCount trigger + int32 multipleRetryCountThreshold = 5; + + // Configure and set threshold for dot11RetryCount trigger + int32 retryCountThreshold = 6; + + // Configure and set threshold for dot11RTSFailureCount trigger + int32 rtsFailureCountThreshold = 7; + +} diff --git a/proto3/models/sta_data_rate.proto b/proto3/models/sta_data_rate.proto index 16012034ba21821f564abe509418ca70ab33eaf4..af9a608cfb5ef0012b2cc84fbebb0b6441d2c540 100644 --- a/proto3/models/sta_data_rate.proto +++ b/proto3/models/sta_data_rate.proto @@ -3,7 +3,7 @@ The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - The version of the OpenAPI document: 2.1.1 + The version of the OpenAPI document: 2.2.1 Generated by OpenAPI Generator: https://openapi-generator.tech */ @@ -16,12 +16,12 @@ import public "models/sta_identity.proto"; message StaDataRate { - StaIdentity sta_id = 1; + StaIdentity staId = 1; // The data transmit rate in kbps that was most recently used for transmission of data PPDUs from the access point to the station. - int32 sta_last_data_downlink_rate = 2; + int32 staLastDataDownlinkRate = 2; // The data transmit rate in Kbps that was most recently used for transmission of data PPDUs from the associated station to the access point. - int32 sta_last_data_uplink_rate = 3; + int32 staLastDataUplinkRate = 3; } diff --git a/proto3/models/sta_data_rate_notification.proto b/proto3/models/sta_data_rate_notification.proto index c545359626d5c423ca62b1ba10d904f25e76fd9a..cfe47012c9c267a567104b66007f8b4ac63a69d9 100644 --- a/proto3/models/sta_data_rate_notification.proto +++ b/proto3/models/sta_data_rate_notification.proto @@ -3,7 +3,7 @@ The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - The version of the OpenAPI document: 2.1.1 + The version of the OpenAPI document: 2.2.1 Generated by OpenAPI Generator: https://openapi-generator.tech */ @@ -18,11 +18,11 @@ import public "models/time_stamp.proto"; message StaDataRateNotification { // Shall be set to \"StaDataRateNotification\". - string notification_type = 1; + string notificationType = 1; // Data rates of a client station. - repeated StaDataRate sta_data_rate = 2; + repeated StaDataRate staDataRate = 2; - TimeStamp time_stamp = 3; + TimeStamp timeStamp = 3; } diff --git a/proto3/models/sta_data_rate_subscription.proto b/proto3/models/sta_data_rate_subscription.proto index 84b617d32ce50c32aefa222c7ade0a9736796861..5ee788ddba4c195c1d653df7288047f20c36e94c 100644 --- a/proto3/models/sta_data_rate_subscription.proto +++ b/proto3/models/sta_data_rate_subscription.proto @@ -3,7 +3,7 @@ The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - The version of the OpenAPI document: 2.1.1 + The version of the OpenAPI document: 2.2.1 Generated by OpenAPI Generator: https://openapi-generator.tech */ @@ -13,22 +13,33 @@ syntax = "proto3"; package mec028; import public "models/assoc_sta_subscription_links.proto"; +import public "models/sta_data_rate_subscription_notification_event.proto"; import public "models/sta_identity.proto"; import public "models/time_stamp.proto"; +import public "models/websock_notif_config.proto"; message StaDataRateSubscription { - AssocStaSubscriptionLinks underscorelinks = 1; + AssocStaSubscriptionLinks Underscorelinks = 1; - // URI selected by the service consumer to receive notifications on the subscribed WLAN Access Information Service. This shall be included both in the request and in response. - string callback_reference = 2; + string callbackReference = 2; - TimeStamp expiry_deadline = 3; + TimeStamp expiryDeadline = 3; - // Identifier(s) to uniquely specify the target client station(s) for the subscription - repeated StaIdentity sta_id = 4; + StaDataRateSubscriptionNotificationEvent notificationEvent = 4; + + // Set for periodic notification reporting. Value indicates the notification period in seconds. + int32 notificationPeriod = 5; + + // Set to TRUE by the service consumer to request a test notification on the callbackReference URI to determine if it is reachable by the WAIS for notifications. + bool requestTestNotification = 6; + + // Identifier(s) to uniquely specify the target client station(s) for the subscription. + repeated StaIdentity staId = 7; // Shall be set to \"StaDataRateSubscription\". - string subscription_type = 5; + string subscriptionType = 8; + + WebsockNotifConfig websockNotifConfig = 9; } diff --git a/proto3/models/sta_data_rate_subscription_notification_event.proto b/proto3/models/sta_data_rate_subscription_notification_event.proto new file mode 100644 index 0000000000000000000000000000000000000000..96b674bef53ff103612b2356f5f4e0ad8c439ded --- /dev/null +++ b/proto3/models/sta_data_rate_subscription_notification_event.proto @@ -0,0 +1,38 @@ +/* + ETSI GS MEC 028 - WLAN Access Information API + + The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI + + The version of the OpenAPI document: 2.2.1 + + Generated by OpenAPI Generator: https://openapi-generator.tech +*/ + +syntax = "proto3"; + +package mec028; + + +message StaDataRateSubscriptionNotificationEvent { + + // Downlink data rate threshold for StaDataRate reporting. + int32 downlinkRateThreshold = 1; + + // Trigger event for the notification: 1 = Notification issued when the STA's downlink data rate is greater than or equal to the downlink threshold. 2 = Notification issued when the STA's downlink data rate is less than or equal to the downlink threshold. 3 = Notification issued when the STA's uplink data rate is greater than or equal to the uplink threshold. 4 = Notification issued when the STA's uplink data rate is less than or equal to the uplink threshold. 5 = Notification issued when the STA's downlink and uplink data rate is greater than or equal to their thresholds. 6 = Notification issued when the STA's downlink and uplink data rate is less than or equal to their thresholds. 7 = Notification issued when the STA's downlink or uplink data rate is greater than or equal to their thresholds. 8 = Notification issued when the STA's downlink or uplink data rate is less than or equal to their thresholds. + enum TriggerEnum { + _1 = 0; + _2 = 1; + _3 = 2; + _4 = 3; + _5 = 4; + _6 = 5; + _7 = 6; + _8 = 7; + } + + TriggerEnum trigger = 2; + + // Uplink data rate threshold for StaDataRate reporting. + int32 uplinkRateThreshold = 3; + +} diff --git a/proto3/models/sta_identity.proto b/proto3/models/sta_identity.proto index d203ea57c811a2932a178acbbbc669bc006cfff8..44e02462f7881d69b978bebbcfe98bdb1191a410 100644 --- a/proto3/models/sta_identity.proto +++ b/proto3/models/sta_identity.proto @@ -3,7 +3,7 @@ The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - The version of the OpenAPI document: 2.1.1 + The version of the OpenAPI document: 2.2.1 Generated by OpenAPI Generator: https://openapi-generator.tech */ @@ -15,16 +15,16 @@ package mec028; message StaIdentity { - // Number which identifies a particular association between a station and an Access Point + // Number which identifies a particular association between a station and an Access Point string aid = 1; - // IPv4 or IPv6 address allocated for the station. - repeated string ip_address = 2; + // IPv4 or IPv6 address(es) allocated for the station. + repeated string ipAddress = 2; // Unique identifier assigned to station (as network interface controller) for communications at the data link layer of a network segment. - string mac_id = 3; + string macId = 3; - // Service Set Identifier to identify logical networks. + // Service Set Identifier(s) to identify logical networks. repeated string ssid = 4; } diff --git a/proto3/models/sta_info.proto b/proto3/models/sta_info.proto index 479e12cce04fba431eb78a4247c61735087ed008..89873057c0658771e85f6828bc8f44ee32a0de41 100644 --- a/proto3/models/sta_info.proto +++ b/proto3/models/sta_info.proto @@ -3,7 +3,7 @@ The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - The version of the OpenAPI document: 2.1.1 + The version of the OpenAPI document: 2.2.1 Generated by OpenAPI Generator: https://openapi-generator.tech */ @@ -14,6 +14,8 @@ package mec028; import public "models/ap_associated.proto"; import public "models/beacon_report.proto"; +import public "models/channel_load.proto"; +import public "models/neighbor_report.proto"; import public "models/rssi.proto"; import public "models/sta_data_rate.proto"; import public "models/sta_identity.proto"; @@ -22,21 +24,29 @@ import public "models/time_stamp.proto"; message StaInfo { - ApAssociated ap_associated = 1; + ApAssociated apAssociated = 1; - BeaconReport beacon_report = 2; + // Beacon Report as defined in IEEE 802.11-2016 [8]. + repeated BeaconReport beaconReport = 2; - // Channel currently used by the station. + // Channel currently used by the station to connect with its associated Access Point. int32 channel = 3; - Rssi rssi = 4; + // Channel Load reports as seen by the station as defined IEEE 802.11-2016 [8]. Channel Load reports may be configured for any channel, including the station's current channel for association. + repeated ChannelLoad channelLoad = 4; - StaDataRate sta_data_rate = 5; + // Information about neighbor Access Points seen by the station as defined IEEE 802.11-2016 [8]. + repeated NeighborReport neighborReport = 5; - StaIdentity sta_id = 6; + Rssi rssi = 6; - StaStatistics sta_statistics = 7; + StaDataRate staDataRate = 7; - TimeStamp time_stamp = 8; + StaIdentity staId = 8; + + // Statistics as defined in IEEE 802.11-2016 [8] for the client station collected over measurement duration. + repeated StaStatistics staStatistics = 9; + + TimeStamp timeStamp = 10; } diff --git a/proto3/models/sta_statistics.proto b/proto3/models/sta_statistics.proto index 0a29db7e7b92c91bf4b5810623f9fb67e539b6b6..6f263530a6a96b6cc8570ee14218350a07ee6f8f 100644 --- a/proto3/models/sta_statistics.proto +++ b/proto3/models/sta_statistics.proto @@ -3,7 +3,7 @@ The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - The version of the OpenAPI document: 2.1.1 + The version of the OpenAPI document: 2.2.1 Generated by OpenAPI Generator: https://openapi-generator.tech */ @@ -12,16 +12,28 @@ syntax = "proto3"; package mec028; -import public "models/statistics_group_data.proto"; +import public "models/sta_identity.proto"; +import public "models/sta_statistics_group2to9_data.proto"; +import public "models/sta_statistics_group_one_data.proto"; +import public "models/sta_statistics_group_zero_data.proto"; message StaStatistics { - // Indicates the requested statistics group describing the Statistics Group Data according to table 9-114 of IEEE 802.11-2016 [8]. - int32 group_identity = 1; + StaStatisticsGroup2to9Data group2to9Data = 1; - // Measurement Duration. - int32 md = 2; + // Indicates the requested statistics group describing the Statistics Group Data according to Table 9-114 of IEEE 802.11-2016 [8]. Depending on group identity, one and only one of the STA Statistics Group Data will be present. + int32 groupIdentity = 2; - StatisticsGroupData statistics_group_data = 3; + StaStatisticsGroupOneData groupOneData = 3; + + StaStatisticsGroupZeroData groupZeroData = 4; + + // Duration over which the Statistics Group Data was measured in time units of 1 024 µs. Duration equal to zero indicates a report of current values. + int32 measurementDuration = 5; + + // Measurement ID of the Measurement configuration applied to this STA Statistics Report. + string measurementId = 6; + + StaIdentity staId = 7; } diff --git a/proto3/models/sta_statistics_config.proto b/proto3/models/sta_statistics_config.proto index 8cb8728e4fb8e23173d750be2e8e8f02bf0cf5df..421417791c5ef8ef580dc34628df40c2cd394ef9 100644 --- a/proto3/models/sta_statistics_config.proto +++ b/proto3/models/sta_statistics_config.proto @@ -3,7 +3,7 @@ The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - The version of the OpenAPI document: 2.1.1 + The version of the OpenAPI document: 2.2.1 Generated by OpenAPI Generator: https://openapi-generator.tech */ @@ -12,20 +12,22 @@ syntax = "proto3"; package mec028; -import public "models/sta_identity.proto"; +import public "models/sta_counter_trigger_condition.proto"; message StaStatisticsConfig { - // As per table T 9-114 of IEEE 802.11-2012 [8]. - int32 group_identity = 1; + // As per Table 9-92 of IEEE 802.11-2016 [8]. + int32 groupIdentity = 1; - StaIdentity sta_id = 2; + // Valid if triggeredReport = true. Specifies the number of MAC service data units or protocol data units to determine if the trigger conditions are met. + int32 measurementCount = 2; - int32 trigger_condition = 3; + STACounterTriggerCondition triggerCondition = 3; - // The Trigger Timeout field contains a value in units of 100 TUs during which a measuring STA does not generate further triggered STA Statistics Reports after a trigger condition has been met. - int32 trigger_timeout = 4; + // Valid if triggeredReport = true. The Trigger Timeout field contains a value in units of 100 time-units of 1 024 µs during which a measuring STA does not generate further triggered STA Statistics Reports after a trigger condition has been met. + int32 triggerTimeout = 4; - bool triggered_report = 5; + // True = triggered reporting, otherwise duration. + bool triggeredReport = 5; } diff --git a/proto3/models/sta_statistics_group2to9_data.proto b/proto3/models/sta_statistics_group2to9_data.proto new file mode 100644 index 0000000000000000000000000000000000000000..72d60aa1275ba981be9011eeda6ea59ea0843170 --- /dev/null +++ b/proto3/models/sta_statistics_group2to9_data.proto @@ -0,0 +1,60 @@ +/* + ETSI GS MEC 028 - WLAN Access Information API + + The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI + + The version of the OpenAPI document: 2.2.1 + + Generated by OpenAPI Generator: https://openapi-generator.tech +*/ + +syntax = "proto3"; + +package mec028; + +import public "models/reporting_reason_qo_s_counters.proto"; + +message StaStatisticsGroup2to9Data { + + // dot11QosAckFailureCount counter + int32 qosAckFailureCount = 1; + + // dot11QosDiscardedFrameCount counter + int32 qosDiscardedFrameCount = 2; + + // dot11QosFailedCount counter + int32 qosFailedCount = 3; + + // dot11QosFrameDuplicateCount counter + int32 qosFrameDuplicateCount = 4; + + // dot11QosMPDUsReceivedCount counter + int32 qosMPDUsReceivedCount = 5; + + // dot11QosMultipleRetryCount counter + int32 qosMultipleRetryCount = 6; + + // dot11QosRTSFailureCount counter + int32 qosRTSFailureCount = 7; + + // dot11QosRTSSuccessCount counter + int32 qosRTSSuccessCount = 8; + + // dot11QosReceivedFragmentCount counter + int32 qosReceivedFragmentCount = 9; + + // dot11QosRetriesReceivedCount counter + int32 qosRetriesReceivedCount = 10; + + // dot11QosRetryCount counter + int32 qosRetryCount = 11; + + // dot11QosTransmittedFragmentCount counter + int32 qosTransmittedFragmentCount = 12; + + // dot11QosTransmittedFrameCount counter + int32 qosTransmittedFrameCount = 13; + + ReportingReasonQoSCounters reportingReasonQoSCounters = 14; + +} diff --git a/proto3/models/sta_statistics_group_one_data.proto b/proto3/models/sta_statistics_group_one_data.proto new file mode 100644 index 0000000000000000000000000000000000000000..ae1b6adaa9f88bcde9c523b5bd3230cee1f49955 --- /dev/null +++ b/proto3/models/sta_statistics_group_one_data.proto @@ -0,0 +1,39 @@ +/* + ETSI GS MEC 028 - WLAN Access Information API + + The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI + + The version of the OpenAPI document: 2.2.1 + + Generated by OpenAPI Generator: https://openapi-generator.tech +*/ + +syntax = "proto3"; + +package mec028; + +import public "models/reporting_reason_sta_counters.proto"; + +message StaStatisticsGroupOneData { + + // dot11AckFailureCount counter + int32 ackFailureCount = 1; + + // dot11FrameDuplicateCount counter + int32 frameDuplicateCount = 2; + + // dot11MultipleRetryCount counter + int32 multipleRetryCount = 3; + + ReportingReasonStaCounters reportingReasonStaCounters = 4; + + // dot11RetryCount counter + int32 retryCount = 5; + + // dot11RTSFailureCount counter + int32 rtsFailureCount = 6; + + // dot11RTSSuccessCount counter + int32 rtsSuccessCount = 7; + +} diff --git a/proto3/models/sta_statistics_group_zero_data.proto b/proto3/models/sta_statistics_group_zero_data.proto new file mode 100644 index 0000000000000000000000000000000000000000..1640e40a217642b9597d2b9c78a050d47692df8b --- /dev/null +++ b/proto3/models/sta_statistics_group_zero_data.proto @@ -0,0 +1,42 @@ +/* + ETSI GS MEC 028 - WLAN Access Information API + + The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI + + The version of the OpenAPI document: 2.2.1 + + Generated by OpenAPI Generator: https://openapi-generator.tech +*/ + +syntax = "proto3"; + +package mec028; + +import public "models/reporting_reason_sta_counters.proto"; + +message StaStatisticsGroupZeroData { + + // dot11FailedCount counter + int32 failedCount = 1; + + // dot11FCSErrorCount counter + int32 fcsErrorCount = 2; + + // dot11GroupReceivedFrameCount counter + int32 groupReceivedFrameCount = 3; + + // dot11GroupTransmittedFrameCount counter + int32 groupTransmittedFrameCount = 4; + + // dot11ReceivedFragmentCount counter + int32 receivedFragmentCount = 5; + + ReportingReasonStaCounters reportingReasonStaCounters = 6; + + // dot11TransmittedFragmentCount counter + int32 transmittedFragmentCount = 7; + + // dot11TransmittedFrameCount counter + int32 transmittedFrameCount = 8; + +} diff --git a/proto3/models/statistics_group_data.proto b/proto3/models/statistics_group_data.proto deleted file mode 100644 index f5b25ac8ac42cc2063ff6d174aff00df373d2798..0000000000000000000000000000000000000000 --- a/proto3/models/statistics_group_data.proto +++ /dev/null @@ -1,172 +0,0 @@ -/* - ETSI GS MEC 028 - WLAN Access Information API - - The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - - The version of the OpenAPI document: 2.1.1 - - Generated by OpenAPI Generator: https://openapi-generator.tech -*/ - -syntax = "proto3"; - -package mec028; - - -message StatisticsGroupData { - - int32 dot11_ampdu_delimiter_crc_error_count = 1; - - int32 dot11_ampdu_received_count = 2; - - int32 dot11_amsdu_ack_failure_count = 3; - - int32 dot11_ack_failure_count = 4; - - int32 dot11_beamforming_frame_count = 5; - - int32 dot11_channel_width_switch_count = 6; - - int32 dot11_dual_cts_failure_count = 7; - - int32 dot11_dual_cts_success_count = 8; - - int32 dot11_explicit_bar_failure_count = 9; - - int32 dot11_fcs_error_count = 10; - - int32 dot11_failed_amsdu_count = 11; - - int32 dot11_failed_count = 12; - - int32 dot11_forty_mhz_frame_received_count = 13; - - int32 dot11_forty_mhz_frame_transmitted_count = 14; - - int32 dot11_frame_duplicate_count = 15; - - int32 dot11_granted_rdg_unused_count = 16; - - int32 dot11_granted_rdg_used_count = 17; - - int32 dot11_group_received_frame_count = 18; - - int32 dot11_group_transmitted_frame_count = 19; - - int32 dot11_implicit_bar_failure_count = 20; - - int32 dot11_mpdu_in_received_ampdu_count = 21; - - int32 dot11_multiple_retry_amsdu_count = 22; - - int32 dot11_multiple_retry_count = 23; - - int32 dot11_psmputt_grant_duration = 24; - - int32 dot11_psmputt_used_duration = 25; - - int32 dot11_qos_ack_failure_count = 26; - - int32 dot11_qos_discarded_frame_count = 27; - - int32 dot11_qos_failed_count = 28; - - int32 dot11_qos_frame_duplicate_count = 29; - - int32 dot11_qos_mpdus_received_count = 30; - - int32 dot11_qos_multiple_retry_count = 31; - - int32 dot11_qos_rts_failure_count = 32; - - int32 dot11_qos_rts_success_count = 33; - - int32 dot11_qos_received_fragment_count = 34; - - int32 dot11_qos_retries_received_count = 35; - - int32 dot11_qos_retry_count = 36; - - int32 dot11_qos_transmitted_fragment_count = 37; - - int32 dot11_qos_transmitted_frame_count = 38; - - int32 dot11_rsna_stats_bipmic_errors = 39; - - int32 dot11_rsna_stats_ccmp_decrypt_errors = 40; - - int32 dot11_rsna_stats_ccmp_replays = 41; - - int32 dot11_rsna_stats_cmac_replays = 42; - - int32 dot11_rsna_stats_robust_mgmt_ccmp_replays = 43; - - int32 dot11_rsna_stats_tkipcve_rrors = 44; - - int32 dot11_rsna_stats_tkipr_eplays = 45; - - int32 dot11_rts_failure_count = 46; - - int32 dot11_rtsl_sig_failure_count = 47; - - int32 dot11_rtsl_sig_success_count = 48; - - int32 dot11_rts_success_count = 49; - - int32 dot11_received_amsdu_count = 50; - - int32 dot11_received_fragment_count = 51; - - int64 dot11_received_octets_in_ampdu_count = 52; - - int64 dot11_received_octets_in_amsdu_count = 53; - - int32 dot11_retry_amsdu_count = 54; - - int32 dot11_retry_count = 55; - - int32 dot11_sta_statistics_ap_average_access_delay = 56; - - int32 dot11_sta_statistics_average_access_delay_back_ground = 57; - - int32 dot11_sta_statistics_average_access_delay_best_effort = 58; - - int32 dot11_sta_statistics_average_access_delay_video = 59; - - int32 dot11_sta_statistics_average_access_delay_voice = 60; - - int32 dot11_sta_statistics_channel_utilization = 61; - - int32 dot11_sta_statistics_station_count = 62; - - int32 dot11_stbccts_failure_count = 63; - - int32 dot11_stbccts_success_count = 64; - - int32 dot11_transmitted_ampdu_count = 65; - - int32 dot11_transmitted_amsdu_count = 66; - - int32 dot11_transmitted_fragment_count = 67; - - int32 dot11_transmitted_frame_count = 68; - - int32 dot11_transmitted_frames_in_granted_rdg_count = 69; - - int32 dot11_transmitted_mpdus_in_ampdu_count = 70; - - int64 dot11_transmitted_octets_in_ampdu_count = 71; - - int64 dot11_transmitted_octets_in_amsdu_count = 72; - - int32 dot11_transmitted_octets_in_granted_rdg_count = 73; - - int32 dot11_twenty_mhz_frame_received_count = 74; - - int32 dot11_twenty_mhz_frame_transmitted_count = 75; - - int32 dot11non_stbccts_failure_count = 76; - - int32 dot11non_stbccts_success_count = 77; - -} diff --git a/proto3/models/subscription_link_list.proto b/proto3/models/subscription_link_list.proto index 21488784274dfaecb23771b514b11238c45f87ae..c72877ced7faa031ad407984918eec7a75e8af7c 100644 --- a/proto3/models/subscription_link_list.proto +++ b/proto3/models/subscription_link_list.proto @@ -3,7 +3,7 @@ The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - The version of the OpenAPI document: 2.1.1 + The version of the OpenAPI document: 2.2.1 Generated by OpenAPI Generator: https://openapi-generator.tech */ @@ -12,16 +12,13 @@ syntax = "proto3"; package mec028; -import public "models/assoc_sta_subscription.proto"; -import public "models/sta_data_rate_subscription.proto"; import public "models/subscription_link_list_links.proto"; +import public "models/subscription_link_list_subscription.proto"; message SubscriptionLinkList { - SubscriptionLinkListLinks underscorelinks = 1; + SubscriptionLinkListLinks Underscorelinks = 1; - repeated AssocStaSubscription assoc_sta_subscription = 2; - - repeated StaDataRateSubscription sta_data_rate_subscription = 3; + repeated SubscriptionLinkListSubscription subscription = 2; } diff --git a/proto3/models/subscription_link_list_links.proto b/proto3/models/subscription_link_list_links.proto index f27358bac712bff4879fc599efff534d4fecdb26..989459bf4ab7a0d1ccb7b70ae13fee62488312b3 100644 --- a/proto3/models/subscription_link_list_links.proto +++ b/proto3/models/subscription_link_list_links.proto @@ -3,7 +3,7 @@ The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - The version of the OpenAPI document: 2.1.1 + The version of the OpenAPI document: 2.2.1 Generated by OpenAPI Generator: https://openapi-generator.tech */ diff --git a/proto3/models/subscription_link_list_subscription.proto b/proto3/models/subscription_link_list_subscription.proto new file mode 100644 index 0000000000000000000000000000000000000000..aece7228010f9a20e4dab6017a57337c49a75e50 --- /dev/null +++ b/proto3/models/subscription_link_list_subscription.proto @@ -0,0 +1,24 @@ +/* + ETSI GS MEC 028 - WLAN Access Information API + + The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI + + The version of the OpenAPI document: 2.2.1 + + Generated by OpenAPI Generator: https://openapi-generator.tech +*/ + +syntax = "proto3"; + +package mec028; + + +message SubscriptionLinkListSubscription { + + // The URI referring to the subscription. + string href = 1; + + // Type of the subscription. The string shall be set according to the \"subscriptionType\" attribute of the associated subscription data type defined in 6.3.2, 6.3.3. and 6.3.5: “AssocStaSubscription” “StaDataRateSubscription” “MeasurementReportSubscription” + string subscriptionType = 2; + +} diff --git a/proto3/models/test_notification.proto b/proto3/models/test_notification.proto new file mode 100644 index 0000000000000000000000000000000000000000..1dc8e7e2020f5c663b1c2031938938330483b336 --- /dev/null +++ b/proto3/models/test_notification.proto @@ -0,0 +1,24 @@ +/* + ETSI GS MEC 028 - WLAN Access Information API + + The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI + + The version of the OpenAPI document: 2.2.1 + + Generated by OpenAPI Generator: https://openapi-generator.tech +*/ + +syntax = "proto3"; + +package mec028; + +import public "models/test_notification_links.proto"; + +message TestNotification { + + TestNotificationLinks Underscorelinks = 1; + + // Shall be set to \"TestNotification\". + string notificationType = 2; + +} diff --git a/proto3/models/test_notification_links.proto b/proto3/models/test_notification_links.proto new file mode 100644 index 0000000000000000000000000000000000000000..455506fc3a9bd36b790d219d64893738337ff85d --- /dev/null +++ b/proto3/models/test_notification_links.proto @@ -0,0 +1,21 @@ +/* + ETSI GS MEC 028 - WLAN Access Information API + + The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI + + The version of the OpenAPI document: 2.2.1 + + Generated by OpenAPI Generator: https://openapi-generator.tech +*/ + +syntax = "proto3"; + +package mec028; + +import public "models/link_type.proto"; + +message TestNotificationLinks { + + LinkType subscription = 1; + +} diff --git a/proto3/models/time_stamp.proto b/proto3/models/time_stamp.proto index 5667346ee00bd29f0734e1c94e851cddaf0fef20..bc06318fd11bb777501f08886ad4c4751cb4fc08 100644 --- a/proto3/models/time_stamp.proto +++ b/proto3/models/time_stamp.proto @@ -3,7 +3,7 @@ The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - The version of the OpenAPI document: 2.1.1 + The version of the OpenAPI document: 2.2.1 Generated by OpenAPI Generator: https://openapi-generator.tech */ @@ -16,7 +16,7 @@ package mec028; message TimeStamp { // The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC. - int32 nano_seconds = 1; + int32 nanoSeconds = 1; // The seconds part of the time. Time is defined as Unixtime since January 1, 1970, 00:00:00 UTC. int32 seconds = 2; diff --git a/proto3/models/vht_capabilities.proto b/proto3/models/vht_capabilities.proto index b8ce0e7f8769e85f1cd574d33f8f3aff85f914da..cd4a3e57836169fb62874c0ba6c7d28901dd3a7d 100644 --- a/proto3/models/vht_capabilities.proto +++ b/proto3/models/vht_capabilities.proto @@ -3,7 +3,7 @@ The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - The version of the OpenAPI document: 2.1.1 + The version of the OpenAPI document: 2.2.1 Generated by OpenAPI Generator: https://openapi-generator.tech */ @@ -16,9 +16,9 @@ package mec028; message VhtCapabilities { // VHT capabilities Info as defined in IEEE 802.11-2016 [8]. - int32 vht_cap_info = 1; + int32 vhtCapInfo = 1; // Supported VHT-MCS and NSS Set as defined in IEEE 802.11-2016 [8]. - int64 vht_mcs_nss = 2; + int32 vhtMcsNss = 2; } diff --git a/proto3/models/wan_metrics.proto b/proto3/models/wan_metrics.proto index 59b7d8086bcc1ab32d3db29779654d5eb615b982..13fc85ad5752bc6eb42801636ce967bebda884ce 100644 --- a/proto3/models/wan_metrics.proto +++ b/proto3/models/wan_metrics.proto @@ -3,7 +3,7 @@ The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - The version of the OpenAPI document: 2.1.1 + The version of the OpenAPI document: 2.2.1 Generated by OpenAPI Generator: https://openapi-generator.tech */ @@ -15,22 +15,22 @@ package mec028; message WanMetrics { - // 1-octet positive integer representing the current percentage loading of the downlink WAN connection, scaled linearly with 255 representing 100 %, as measured over an interval the duration of which is reported in Load Measurement Duration. In cases where the downlink load is unknown to the AP, the value is set to zero. - int32 downlink_load = 1; + // 1-octet positive integer representing the current percentage loading of the downlink WAN connection, scaled linearly with 255 representing 100 %, as measured over an interval the duration of which is reported in Load Measurement Duration. In cases where the downlink load is unknown to the AP, the value is set to zero. + int32 downlinkLoad = 1; // 4-octet positive integer whose value is an estimate of the WAN Backhaul link current downlink speed in kilobits per second. - int32 downlink_speed = 2; + int32 downlinkSpeed = 2; // The LMD (Load Measurement Duration) field is a 2-octet positive integer representing the duration over which the Downlink Load and Uplink Load have been measured, in tenths of a second. When the actual load measurement duration is greater than the maximum value, the maximum value will be reported. The value of the LMD field is set to 0 when neither the uplink nor downlink load can be computed. When the uplink and downlink loads are computed over different intervals, the maximum interval is reported. int32 lmd = 3; - // 1-octet positive integer representing the current percentage loading of the uplink WAN connection, scaled linearly with 255 representing 100 %, as measured over an interval, the duration of which is reported in Load Measurement Duration. In cases where the uplink load is unknown to the AP, the value is set to zero. - int32 uplink_load = 4; + // 1-octet positive integer representing the current percentage loading of the uplink WAN connection, scaled linearly with 255 representing 100 %, as measured over an interval, the duration of which is reported in Load Measurement Duration. In cases where the uplink load is unknown to the AP, the value is set to zero. + int32 uplinkLoad = 4; // 4-octet positive integer whose value is an estimate of the WAN Backhaul link's current uplink speed in kilobits per second. - int32 uplink_speed = 5; + int32 uplinkSpeed = 5; // Info about WAN link status, link symmetricity and capacity currently used. - int32 wan_info = 6; + int32 wanInfo = 6; } diff --git a/proto3/models/websock_notif_config.proto b/proto3/models/websock_notif_config.proto new file mode 100644 index 0000000000000000000000000000000000000000..782aa228e8aee28a8268420896b6b094899ce709 --- /dev/null +++ b/proto3/models/websock_notif_config.proto @@ -0,0 +1,24 @@ +/* + ETSI GS MEC 028 - WLAN Access Information API + + The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI + + The version of the OpenAPI document: 2.2.1 + + Generated by OpenAPI Generator: https://openapi-generator.tech +*/ + +syntax = "proto3"; + +package mec028; + + +message WebsockNotifConfig { + + // Set to true by the service consumer to indicate that Websocket delivery is requested. + bool requestWebsocketUri = 1; + + // Set by WAIS to indicate to the service consumer the Websocket URI to be used for delivering notifications. + string websocketUri = 2; + +} diff --git a/proto3/models/wlan_capabilities.proto b/proto3/models/wlan_capabilities.proto index e86ab843cd39df1d2e93dd787f65c9ac1eb6c627..74dc110ccc8b895eab799fe8aaaaec53f8537966 100644 --- a/proto3/models/wlan_capabilities.proto +++ b/proto3/models/wlan_capabilities.proto @@ -3,7 +3,7 @@ The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - The version of the OpenAPI document: 2.1.1 + The version of the OpenAPI document: 2.2.1 Generated by OpenAPI Generator: https://openapi-generator.tech */ diff --git a/proto3/services/wai_service.proto b/proto3/services/wai_service.proto index 2a91b968134baaa562d60961adc593642441cd92..52b1367228452e851a16ebab29e39bd82c6f38c8 100644 --- a/proto3/services/wai_service.proto +++ b/proto3/services/wai_service.proto @@ -3,7 +3,7 @@ The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI - The version of the OpenAPI document: 2.1.1 + The version of the OpenAPI document: 2.2.1 Generated by OpenAPI Generator: https://openapi-generator.tech */ @@ -15,6 +15,8 @@ package mec028; import "google/protobuf/empty.proto"; import public "models/ap_info.proto"; import public "models/inline_subscription.proto"; +import public "models/measurement_config.proto"; +import public "models/measurement_config_link_list.proto"; import public "models/problem_details.proto"; import public "models/sta_info.proto"; import public "models/subscription_link_list.proto"; @@ -22,6 +24,16 @@ import public "models/subscription_link_list.proto"; service WaiService { rpc ApInfoGET (ApInfoGETRequest) returns (ApInfoGETResponse); + rpc MeasurementLinkListMeasurementsGET (google.protobuf.Empty) returns (MeasurementConfigLinkList); + + rpc MeasurementsDELETE (MeasurementsDELETERequest) returns (google.protobuf.Empty); + + rpc MeasurementsGET (MeasurementsGETRequest) returns (MeasurementConfig); + + rpc MeasurementsPOST (MeasurementsPOSTRequest) returns (MeasurementConfig); + + rpc MeasurementsPUT (MeasurementsPUTRequest) returns (MeasurementConfig); + rpc StaInfoGET (StaInfoGETRequest) returns (StaInfoGETResponse); rpc SubscriptionLinkListSubscriptionsGET (SubscriptionLinkListSubscriptionsGETRequest) returns (SubscriptionLinkList); @@ -40,13 +52,13 @@ message ApInfoGETRequest { // Attribute-based filtering expression according to clause 6.19 of ETSI GS MEC 009. . string filter = 1; // Include all complex attributes in the response. See clause 6.18 of ETSI GS MEC 009 for details. - string all_fields = 2; + string allFields = 2; // Complex attributes to be included into the response. See clause 6.18 of ETSI GS MEC 009 for details. repeated string fields = 3; // Complex attributes to be excluded from the response. See clause 6.18 of ETSI GS MEC 009 for details. - repeated string exclude_fields = 4; + repeated string excludeFields = 4; // Indicates to exclude the following complex attributes from the response. See clause 6.18 of ETSI GS MEC 009 for details. The following attributes shall be excluded from the structure in the response body if this parameter is provided, or none of the parameters \"all_fields\", \"fields\", \"exclude_fields\", \"exclude_default\" are provided: Not applicable - repeated string exclude_default = 5; + repeated string excludeDefault = 5; } @@ -54,17 +66,43 @@ message ApInfoGETResponse { repeated ApInfo data = 1; } +message MeasurementsDELETERequest { + // Measurement configuration Id, specifically the \"self\" returned in the measurement configuration request + string measurementConfigId = 1; + +} + +message MeasurementsGETRequest { + // Measurement configuration Id, specifically the \"self\" returned in the measurement configuration request + string measurementConfigId = 1; + +} + +message MeasurementsPOSTRequest { + // Measurement configuration information + MeasurementConfig measurementConfig = 1; + +} + +message MeasurementsPUTRequest { + // Measurement configuration Id, specifically the \"self\" returned in the measurement configuration request + string measurementConfigId = 1; + // Measurement configuration to be modified + MeasurementConfig measurementConfig = 2; + +} + message StaInfoGETRequest { // Attribute-based filtering expression according to clause 6.19 of ETSI GS MEC 009. . string filter = 1; // Include all complex attributes in the response. See clause 6.18 of ETSI GS MEC 009 for details. - string all_fields = 2; + string allFields = 2; // Complex attributes to be included into the response. See clause 6.18 of ETSI GS MEC 009 for details. repeated string fields = 3; // Complex attributes to be excluded from the response. See clause 6.18 of ETSI GS MEC 009 for details. - repeated string exclude_fields = 4; + repeated string excludeFields = 4; // Indicates to exclude the following complex attributes from the response. See clause 6.18 of ETSI GS MEC 009 for details. The following attributes shall be excluded from the structure in the response body if this parameter is provided, or none of the parameters \"all_fields\", \"fields\", \"exclude_fields\", \"exclude_default\" are provided: Not applicable - repeated string exclude_default = 5; + repeated string excludeDefault = 5; } @@ -73,34 +111,34 @@ message StaInfoGETResponse { } message SubscriptionLinkListSubscriptionsGETRequest { - // Filter on a specific subscription type. Permitted values: assoc_sta, sta_data_rate. - string subscription_type = 1; + // Filter on a specific subscription type. Permitted values: assoc_sta, sta_data_rate, measure_report. + string subscriptionType = 1; } message SubscriptionsDELETERequest { // Subscription Id, specifically the \"self\" returned in the subscription request - string subscription_id = 1; + string subscriptionId = 1; } message SubscriptionsGETRequest { // Subscription Id, specifically the \"self\" returned in the subscription request - string subscription_id = 1; + string subscriptionId = 1; } message SubscriptionsPOSTRequest { // Subscription to be created - InlineSubscription inline_subscription = 1; + InlineSubscription inlineSubscription = 1; } message SubscriptionsPUTRequest { // Subscription Id, specifically the \"self\" returned in the subscription request - string subscription_id = 1; + string subscriptionId = 1; // Subscription to be modified - InlineSubscription inline_subscription = 2; + InlineSubscription inlineSubscription = 2; }