diff --git a/README.md b/README.md index 3b098500cdd3acdebb94024a09902f066a011723..63a9f0a6213d6352df985278acf235ff6604f1e6 100644 --- a/README.md +++ b/README.md @@ -12,8 +12,10 @@ presented via OpenAPI compliant descriptions. MEC Sandbox provides the user with a choice of scenarios combining different network technologies (4G, 5G, Wi-Fi) and terminal types. Combining these assets in a geolocated environment, a user can gain hands-on experience on the behaviour -and capabilities of the Location (MEC013), Radio Network Information (MEC012), Traffic Management APIs (MEC015), Device Application Interface (MEC016), -WLAN Information (MEC028), Edge Platform Application Enablement (MEC011) and Application Mobility (MEC021) service APIs. Such contextual information can offer +and capabilities of the Location (MEC013), Radio Network Information (MEC012), Traffic Management APIs (MEC015), Device Application Interface (MEC016), +WLAN Information (MEC028), Edge Platform Application Enablement (MEC011), Application Mobility (MEC021) service APIs, V2X Information API (MEC030) service API, MEC Federation Service API (MEC040) service APIs and Sensors-Sharing Services (MEC046) service APIs. +MEC Sandbox provides also a support for Edge Native Connector (3GPP TS 29.222: 3rd Generation Partnership Project; Technical Specification GroupCore +Network and Terminals; Common API Framework for 3GPP Northbound APIs). Such contextual information can offer significant differential performance for edge based MEC applications. Application Enablement (MEC011) and Application Mobility (MEC021) service APIs. Such contextual information can offer significant differential performance for edge based MEC applications. @@ -74,6 +76,45 @@ MEC Sandbox has the following prerequisites: - Ubuntu 18.04: `sudo apt install python-pip` - Ubuntu 20.04: `sudo apt install python3-pip` - Install Pyyaml: `pip install pyyaml` +1. Host NFS server installation +In order to be deployed properly, MEC 016 service requires that an NFS server was deployed on the host. To achieve it, the followimg steps are required: + +- Install the NFS server +```sh +$ sudo apt-get update +$ sudo apt install nfs-kernel-server nfs-common portmap +``` +- Check that the NFS server is running on the host +```sh +$ sudo systemctl status nfs-server +``` +The outpout looks like: +``` +nfs-server.service - NFS server and services + Loaded: loaded (/lib/systemd/system/nfs-server.service; enabled; vendor preset: enabled) + Active: active (exited) since Mon 2024-09-16 09:10:45 CEST; 42s ago + Main PID: 923678 (code=exited, status=0/SUCCESS) + Tasks: 0 (limit: 38358) + Memory: 0B + CGroup: /system.slice/nfs-server.service +``` +- Create the NFS shared folder +```sh +$ sudo mkdir -p /mnt/nfs/mec_sandbox +$ sudo chmod -R 777 /mnt/nfs/ +``` +- Update the /etc/exports file by adding the following line: +```sh +sudo echo '/mnt/nfs/mec_sandbox *(rw,sync,no_subtree_check,no_root_squash,insecure)' > /etc/exports +``` +- Export the NFS shared folder +```sh +$ sudo exportfs -rv +``` +- Check that the NFS shared folder is exported +```sh +$ showmount -e +``` ### Deploy Long-term Storage (MinIO + Thanos Compactor) @@ -289,5 +330,5 @@ The following procedure should be used to upgrade a running MEC Sandbox deployme ## Licensing MEC Sandbox is a private repo with all rights reserved to ETSI. ``` -Copyright (c) 2022 ETSI. All rights reserved. +Copyright (c) 2022-2025 ETSI. All rights reserved. ``` diff --git a/config/.meepctl-repocfg.yaml b/config/.meepctl-repocfg.yaml index 0b9182d024c6927a8db596a707a23c9a7a66d389..d64c29a0d4c5c2717d2f236e93a6c929a3a1fed1 100644 --- a/config/.meepctl-repocfg.yaml +++ b/config/.meepctl-repocfg.yaml @@ -1,4 +1,4 @@ -# Copyright (c) 2022 The AdvantEDGE Authors +# Copyright (c) 2025 The AdvantEDGE Authors # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -38,9 +38,9 @@ repo: # platform ingress configuration ingress: # host name - host: 172.30.225.7 + host: mec-platform.etsi.org # enable https only (redirect http requests to https port) - https-only: false + https-only: true # bind to host ports (true) or node ports (false) host-ports: true # http port number @@ -48,7 +48,7 @@ repo: # https config https-port: 443 # certificate authority (none|self-signed|lets-encrypt) default: none - ca: self-signed + ca: lets-encrypt # lets-encrypt production server (true) or staging server (false) le-server-prod: true @@ -79,7 +79,7 @@ repo: # access token url token-url: https://github.com/login/oauth/access_token # OAuth redirect URI - redirect-uri: https://mec-platform2.etsi.org/platform-ctrl/v1/authorize + redirect-uri: https://mec-platform.etsi.org/platform-ctrl/v1/authorize # OAuth k8s secret (data: client-id, secret) secret: meep-oauth-github # GitLab OAuth provider config @@ -91,7 +91,7 @@ repo: # access token url token-url: https://forge.etsi.org/rep/oauth/token # OAuth redirect URI - redirect-uri: https://try-mec.etsi.org/platform-ctrl/v1/authorize + redirect-uri: https://mec-platform.etsi.org/platform-ctrl/v1/authorize # GitLab api url api-url: https://forge.etsi.org/rep/api/v4 # OAuth k8s secret (data: client-id, secret) @@ -102,9 +102,9 @@ repo: # Influx configuration influx: # enable influx data backups - enabled: false + enabled: true # object store url - url: https://metrics.try-mec.etsi.org/ + url: https://metrics.mec-platform.etsi.org/ # object store configuration secret secret: meep-influx-objstore-config # Number of days to retain daily data backups @@ -120,7 +120,7 @@ repo: # prometheus environment (dev|prod) promenv: prod # unique deployment identifier - replica: platform-ip + replica: 172.29.10.56 # Thanos long-term storage thanos: # enable Thanos @@ -152,11 +152,11 @@ repo: # 1h downsampled data retention resolution-1h: 10y # Thanos long-term storage archive - #thanos-archive: + thanos-archive: # enable Thanos archive - # enabled: true + enabled: false # archive object store configuration secret - #secret: meep-thanos-archive-objstore-config + secret: meep-thanos-archive-objstore-config # Garbage Collection configuration gc: @@ -290,6 +290,7 @@ repo: core-pods: - meep-mon-engine - meep-platform-ctrl + - meep-sandbox-api - meep-virt-engine - meep-webhook # list of sandbox pods to monitor @@ -307,6 +308,8 @@ repo: # - meep-tc-engine # - meep-app-enablement # - meep-vis + # - meep-iot + # - meep-sss # - meep-federation # location of API specifications api: @@ -351,6 +354,39 @@ repo: swagger: js-apps/meep-swagger-ui # location of AdvantEDGE frontend frontend: bin/meep-frontend + meep-sandbox-api: + # location of source code + src: go-apps/meep-sandbox-api + # location of binary + bin: bin/meep-sandbox-api + # location of deployment chart + chart: charts/meep-sandbox-api + # user supplied value file located @ .meep/user/values (use below file name) + chart-user-values: meep-sandbox-api.yaml + # enable meepctl build + build: true + # enable meepctl dockerize + dockerize: true + # enable meepctl deploy/delete + deploy: true + # supports code coverage measurement when built in codecov mode + codecov: true + # supports linting + lint: true + # location of API specifications + api: + - name: 'AdvantEDGE Platform Controller REST API' + file: go-apps/meep-sandbox-api/api/swagger.yaml + # location of user supplied API specifications + user-api: + # resources available to docker container image + docker-data: + # location of entry script + 'entrypoint.sh': go-apps/meep-sandbox-api/entrypoint.sh + # location of Swagger UI + #swagger: js-apps/meep-swagger-ui + # location of AdvantEDGE frontend + #frontend: bin/meep-frontend meep-virt-engine: # location of source code src: go-apps/meep-virt-engine @@ -380,7 +416,7 @@ repo: meep-metrics-engine: charts/meep-metrics-engine meep-mg-manager: charts/meep-mg-manager meep-rnis: charts/meep-rnis -# meep-dai: charts/meep-dai + meep-dai: charts/meep-dai meep-tm: charts/meep-tm meep-wais: charts/meep-wais meep-ams: charts/meep-ams @@ -389,6 +425,8 @@ repo: meep-app-enablement: charts/meep-app-enablement meep-virt-chart-templates: charts/meep-virt-chart-templates meep-vis: charts/meep-vis + meep-iot: charts/meep-iot + meep-sss: charts/meep-sss meep-federation: charts/meep-federation # list of sandbox specific pods sandbox-pods: @@ -405,6 +443,8 @@ repo: # - meep-tc-engine # - meep-app-enablement # - meep-vis + # - meep-iot + # - meep-sss # - meep-federation meep-webhook: # location of source code @@ -836,42 +876,42 @@ repo: docker-data: # location of entry script 'entrypoint.sh': go-apps/meep-tm/entrypoint.sh -# meep-dai: -# # location of source code -# src: go-apps/meep-dai -# # location of binary -# bin: bin/meep-dai -# # location of deployment chart -# chart: charts/meep-dai -# # user supplied value file located @ .meep/user/values (use below file name) -# chart-user-values: meep-dai.yaml -# # extra build flags -# build-flags: -# - -mod=vendor -# # enable meepctl build -# build: false #true -# # enable meepctl dockerize -# dockerize: false #true -# # enable meepctl deploy/delete -# deploy: false #true -# # supports code coverage measurement when built in codecov mode -# codecov: true -# # supports onboarded device application instantiation -# onboardedapp: true -# # supports linting -# lint: true -# # location of API specifications -# api: -# - name: 'AdvantEDGE Device Application Interface REST API' -# file: go-apps/meep-dai/api/swagger.yaml -# # location of user supplied API specifications -# user-api: -# - name: 'Device Application Interface REST API' -# file: config/api/dai-api.yaml -# # resources available to docker container image -# docker-data: -# # location of entry script -# 'entrypoint.sh': go-apps/meep-dai/entrypoint.sh + meep-dai: + # location of source code + src: go-apps/meep-dai + # location of binary + bin: bin/meep-dai + # location of deployment chart + chart: charts/meep-dai + # user supplied value file located @ .meep/user/values (use below file name) + chart-user-values: meep-dai.yaml + # extra build flags + build-flags: + - -mod=vendor + # enable meepctl build + build: true + # enable meepctl dockerize + dockerize: true + # enable meepctl deploy/delete + deploy: true + # supports code coverage measurement when built in codecov mode + codecov: true + # supports onboarded device application instantiation + onboardedapp: true + # supports linting + lint: true + # location of API specifications + api: + - name: 'AdvantEDGE Device Application Interface REST API' + file: go-apps/meep-dai/api/swagger.yaml + # location of user supplied API specifications + user-api: + - name: 'Device Application Interface REST API' + file: config/api/dai-api.yaml + # resources available to docker container image + docker-data: + # location of entry script + 'entrypoint.sh': go-apps/meep-dai/entrypoint.sh meep-vis: # location of source code src: go-apps/meep-vis @@ -908,6 +948,74 @@ repo: 'entrypoint.sh': go-apps/meep-vis/entrypoint.sh # location of grid map file 'grid_map.yaml': go-packages/meep-vis-traffic-mgr/grid_map.yaml + meep-iot: + # location of source code + src: go-apps/meep-iot + # location of binary + bin: bin/meep-iot + # location of deployment chart + chart: charts/meep-iot + # user supplied value file located @ .meep/user/values (use below file name) + chart-user-values: meep-iot.yaml + # extra build flags + build-flags: + - -mod=vendor + # enable meepctl build + build: true + # enable meepctl dockerize + dockerize: true + # enable meepctl deploy/delete + deploy: true + # supports code coverage measurement when built in codecov mode + codecov: true + # supports linting + lint: true + # location of API specifications + api: + - name: 'AdvantEDGE IOT APIs REST API' + file: go-apps/meep-iot/api/swagger.yaml + # location of user supplied API specifications + user-api: + - name: 'IOT APIs REST API' + file: config/api/iot-api.yaml + # resources available to docker container image + docker-data: + # location of entry script + 'entrypoint.sh': go-apps/meep-iot/entrypoint.sh + meep-sss: + # location of source code + src: go-apps/meep-sss + # location of binary + bin: bin/meep-sss + # location of deployment chart + chart: charts/meep-sss + # user supplied value file located @ .meep/user/values (use below file name) + chart-user-values: meep-sss.yaml + # extra build flags + build-flags: + - -mod=vendor + # enable meepctl build + build: true + # enable meepctl dockerize + dockerize: true + # enable meepctl deploy/delete + deploy: true + # supports code coverage measurement when built in codecov mode + codecov: true + # supports linting + lint: true + # location of API specifications + api: + - name: 'AdvantEDGE SENSORS SHARING APIs REST API' + file: go-apps/meep-sss/api/swagger.yaml + # location of user supplied API specifications + user-api: + - name: 'SENSORS SHARING APIs REST API' + file: config/api/sss-api.yaml + # resources available to docker container image + docker-data: + # location of entry script + 'entrypoint.sh': go-apps/meep-sss/entrypoint.sh meep-federation: # location of source code src: go-apps/meep-federation @@ -1085,7 +1193,7 @@ repo: # enable meepctl dockerize -> deps are never dockerized dockerize: false # enable meepctl deploy/delete - deploy: false + deploy: true # location of deployment chart chart: charts/thanos # user supplied value file located @ .meep/user/values (use below file name) @@ -1096,7 +1204,7 @@ repo: # enable meepctl dockerize -> deps are never dockerized dockerize: false # enable meepctl deploy/delete - deploy: false + deploy: true # location of deployment chart chart: charts/thanos # user supplied value file located @ .meep/user/values (use below file name) @@ -1288,11 +1396,16 @@ repo: src: go-packages/meep-users # supports linting lint: true -# meep-dai-client: -# # location of source code -# src: go-packages/meep-dai-client -# # supports linting -# lint: false + meep-dai-client: + # location of source code + src: go-packages/meep-dai-client + # supports linting + lint: false + meep-dai-mgr: + # location of source code + src: go-packages/meep-dai-mgr + # supports linting + lint: false meep-wais-client: # location of source code src: go-packages/meep-wais-client @@ -1303,6 +1416,16 @@ repo: src: go-packages/meep-vis-client # supports linting lint: false + meep-iot-client: + # location of source code + src: go-packages/meep-iot-client + # supports linting + lint: false + meep-sss-client: + # location of source code + src: go-packages/meep-sss-client + # supports linting + lint: false meep-federation-mgr: # location of source code src: go-packages/meep-federation-mgr @@ -1313,6 +1436,11 @@ repo: src: go-packages/meep-vis-traffic-mgr # supports linting lint: false + meep-iot-mgr: + # location of source code + src: go-packages/meep-iot-mgr + # supports linting + lint: false meep-watchdog: # location of source code src: go-packages/meep-watchdog @@ -1351,6 +1479,11 @@ repo: src: js-packages/meep-platform-ctrl-client # supports linting lint: false + meep-sandbox-api-client: + # location of source code + src: go-packages/meep-sandbox-api-client + # supports linting + lint: false meep-sandbox-ctrl-client: # location of source code src: js-packages/meep-sandbox-ctrl-client diff --git a/config/api/iot-api.yaml b/config/api/iot-api.yaml new file mode 100644 index 0000000000000000000000000000000000000000..14640b74bed7dd9cde653d5fd752a22dadeac288 --- /dev/null +++ b/config/api/iot-api.yaml @@ -0,0 +1,2858 @@ +openapi: 3.0.0 +info: + title: ETSI GS MEC 033 IoT API + description: ETSI GS MEC 033 IoT API described using OpenAPI. + contact: + name: ETSI Forge + url: https://forge.etsi.org/rep/mec/gs021-amsi-api + email: cti_support@etsi.org + license: + name: BSD-3-Clause + url: https://forge.etsi.org/legal-matters + version: 3.1.1 +externalDocs: + description: "ETSI GS MEC 033 IoT API, v3.3.1" + url: https://www.etsi.org/deliver/etsi_gs/MEC/001_099/033/03.01.01_60/gs_mec033v030101p.pdf +servers: +- url: https://localhost/sandboxname/iots/v1 +tags: +- name: reg-dev + description: registered_devices +- name: reg-iot-plat + description: registered_iot_platforms +paths: + /registered_devices: + get: + tags: + - reg-dev + summary: Retrieve information about all devices with a valid traffic rule association + - see clause 5.2.2. + description: The GET method may be used by a service consumer to retrieve information + about all devices with a valid traffic rule association. This method is typically + used in the "registered devices query" procedure as described in clause 5.2.2. + operationId: registereddevicesGET + parameters: + - name: filter + in: query + description: "Attribute-based filtering parameters according to ETSI GS MEC\ + \ 009 [i.1]. The API producer shall support receiving the following filtering\ + \ parameters as part of the URI query string: \"(eq,enabled,TRUE)\".\n" + required: false + style: form + explode: true + schema: + type: string + - name: fields + in: query + description: | + The list may contain one or more of the following attributes from the DeviceInfo data type: + - deviceMetadata + - gpsi + - msisdn + - deviceId + - requestedMecTrafficRule + - requestedIotPlatformId + - requestedUserTransportId + required: false + style: form + explode: true + schema: + type: array + items: + type: string + responses: + "200": + description: "Upon success, a response body containing the list of registered\ + \ devices is returned. The response body shall contain a list of resources\ + \ that match the attribute filter." + content: + application/json: + schema: + $ref: '#/components/schemas/inline_response_200' + "400": + description: "Bad Request: used to indicate that incorrect parameters were\ + \ passed to the request." + 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." + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "403": + description: "Forbidden: operation is not allowed given the current status\ + \ of the resource." + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + post: + tags: + - reg-dev + summary: Register a new device - see clause 5.2.3. + description: The POST method may be used by a service consumer to register a + new device. This method is typically used in the "device registration" procedure + as described in clause 5.2.3. + operationId: registereddevicesPOST + requestBody: + description: Payload body in the request contains the information associated + to the IoT device to be registered. + content: + application/json: + schema: + $ref: '#/components/schemas/registered_devices_body' + required: true + responses: + "201": + description: "Upon success, the HTTP response shall include a \"Location\"\ + \ HTTP header that contains the resource URI of the registered device." + content: + application/json: + schema: + $ref: '#/components/schemas/registered_devices_body' + "400": + description: "Bad Request: used to indicate that incorrect parameters were\ + \ passed to the request." + 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." + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "403": + description: "Forbidden: operation is not allowed given the current status\ + \ of the resource." + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + /registered_devices/{registeredDeviceId}: + get: + tags: + - reg-dev + summary: Retrieve information about a device - see clause 5.2.4. + description: The GET method may be used by a service consumer to retrieve information + about a device. This method is typically used in the "device registration + query" procedure as described in clause 5.2.4. + operationId: registereddevicesByIdGET + parameters: + - name: registeredDeviceId + in: path + description: The unique identifier of the registered device. + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: "Upon success, a response body containing information about\ + \ the registered device is returned." + content: + application/json: + schema: + $ref: '#/components/schemas/registered_devices_body' + "400": + description: "Bad Request: used to indicate that incorrect parameters were\ + \ passed to the request." + 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." + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "403": + description: "Forbidden: operation is not allowed given the current status\ + \ of the resource." + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + put: + tags: + - reg-dev + summary: Update information about a device including its association to a valid + traffic rule - see clauses 5.2.5 and 5.4.3. + description: The PUT method may be used by a service consumer to update a device + registration including its association to a valid traffic rule. This method + is typically used in the "device registration update" procedure as described + in clause 5.2.5 and in the "user transport assignment" procedure as described + in clause 5.4.3. + operationId: registereddevicesByIdPUT + parameters: + - name: registeredDeviceId + in: path + description: The unique identifier of the registered device. + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: One or more updated attributes that are allowed to be changed + are included in the DeviceInfo data structure in the payload body of the + request. . + content: + application/json: + schema: + $ref: '#/components/schemas/registered_devices_registeredDeviceId_body' + required: true + responses: + "200": + description: "Upon success, a response body containing data type describing\ + \ the updated DeviceInfo is returned." + content: + application/json: + schema: + $ref: '#/components/schemas/registered_devices_registeredDeviceId_body' + "400": + description: "Bad Request: used to indicate that incorrect parameters were\ + \ passed to the request." + 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." + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "403": + description: "Forbidden: operation is not allowed given the current status\ + \ of the resource." + 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" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + delete: + tags: + - reg-dev + summary: Deregister a device - see clause 5.2.6. + description: The DELETE method may be used by a service consumer to deregister + a device. This method is typically used in the "device deregistration" procedure + as described in clause 5.2.6. + operationId: registereddevicesByIdDELETE + parameters: + - name: registeredDeviceId + in: path + description: The unique identifier of the registered device. + required: true + style: simple + explode: false + schema: + type: string + responses: + "204": + description: No Content + "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' + "403": + description: "Forbidden: operation is not allowed given the current status\ + \ of the resource." + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + /registered_iot_platforms: + get: + tags: + - reg-iot-plat + summary: Retrieve information about all IoT platforms - see clause 5.3.2. + description: The GET method may be used by an authorized service consumer to + retrieve the information of all currently registered IoT platforms. This method + is typically used in the "registered IoT platforms query" procedure as described + in clause 5.3.2. + operationId: registerediotplatformsGET + parameters: + - name: fields + in: query + description: | + The list shall contain the following attributes from the IotPlatformInfo data type: + - iotPlatformId + - enabled + required: false + style: form + explode: true + schema: + type: array + items: + type: string + responses: + "200": + description: "Upon success, a response body containing the list of registered\ + \ IoT platforms is returned." + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/IotPlatformInfo' + x-content-type: application/json + "400": + description: "Bad Request: used to indicate that incorrect parameters were\ + \ passed to the request." + 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." + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "403": + description: "Forbidden: operation is not allowed given the current status\ + \ of the resource." + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + post: + tags: + - reg-iot-plat + summary: Register a IoT platform - see clause 5.3.4. + description: The POST method may be used by a service consumer to register a + new IoT platform. This method is typically used in the "IoT platform registration" + procedure as described in clause 5.3.4. + operationId: registerediotplatformsPOST + requestBody: + description: Payload body in the request contains the information associated + to the IoT platform to be registered. + content: + application/json: + schema: + $ref: '#/components/schemas/registered_iot_platforms_body' + required: true + responses: + "201": + description: "Upon success, the HTTP response shall include a \"Location\"\ + \ HTTP header that contains the resource URI of the registered IoT platform." + content: + application/json: + schema: + $ref: '#/components/schemas/registered_iot_platforms_body' + "400": + description: "Bad Request: used to indicate that incorrect parameters were\ + \ passed to the request." + 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." + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "403": + description: "Forbidden: operation is not allowed given the current status\ + \ of the resource." + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + /registered_iot_platforms/{registeredIotPlatformId}: + get: + tags: + - reg-iot-plat + summary: Discover native services and obtain information about user transports + provided by a IoT platform - see clauses 5.3.3 and 5.4.2. + description: 'The GET method may be used by a service consumer to obtain information + about a IoT platform. This method is typically used in the "IoT platform information + request" procedure as described in clause 5.3.3 and in the "user transport + query" procedure as described in clause 5.4.2. ' + operationId: registerediotplatformsByIdGET + parameters: + - name: registeredIotPlatformId + in: path + description: The unique identifier of the registered IoT platform. + required: true + style: simple + explode: false + schema: + type: string + - name: fields + in: query + description: | + The list may contain one or more of the following attributes from the IotPlatformInfo data type: + - userTransportInfo + - customServiceTransportInfo + required: false + style: form + explode: true + schema: + type: array + items: + type: string + responses: + "200": + description: "Upon success, a response body containing information about\ + \ the registered IoT platform is returned." + content: + application/json: + schema: + $ref: '#/components/schemas/inline_response_200_1' + "400": + description: "Bad Request: used to indicate that incorrect parameters were\ + \ passed to the request." + 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." + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "403": + description: "Forbidden: operation is not allowed given the current status\ + \ of the resource." + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + put: + tags: + - reg-iot-plat + summary: Update information about a IoT platform - see clause 5.3.5. + description: The PUT method may be used by a service consumer to update a IoT + platform registration. This method is typically used in the "IoT platform + update" procedure as described in clause 5.3.5. + operationId: registerediotplatformsByIdPUT + parameters: + - name: registeredIotPlatformId + in: path + description: The unique identifier of the registered IoT platform. + required: true + style: simple + explode: false + schema: + type: string + requestBody: + description: One or more updated attributes that are allowed to be changed + are included in the IotPlatformInfo data structure in the payload body of + the request. . + content: + application/json: + schema: + $ref: '#/components/schemas/registered_iot_platforms_registeredIotPlatformId_body' + required: true + responses: + "200": + description: "Upon success, a response body containing data type describing\ + \ the updated IotPlatformInfo is returned." + content: + application/json: + schema: + $ref: '#/components/schemas/registered_iot_platforms_registeredIotPlatformId_body' + "400": + description: "Bad Request: used to indicate that incorrect parameters were\ + \ passed to the request." + 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." + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "403": + description: "Forbidden: operation is not allowed given the current status\ + \ of the resource." + 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" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + delete: + tags: + - reg-iot-plat + summary: Deregister a IoT platform - see clause 5.3.6. + description: The DELETE method may be used by a service consumer to deregister + a IoT platform. This method is typically used in the "IoT platform deregistration" + procedure as described in clause 5.3.6. + operationId: registerediotplatformsByIdDELETE + parameters: + - name: registeredIotPlatformId + in: path + description: The unique identifier of the registered IoT platform. + required: true + style: simple + explode: false + schema: + type: string + responses: + "204": + description: No Content + "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' + "403": + description: "Forbidden: operation is not allowed given the current status\ + \ of the resource." + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' +components: + schemas: + ProblemDetails: + type: object + properties: + type: + type: string + description: A URI reference according to IETF RFC 3986 that identifies + the problem type + format: uri + title: + type: string + description: "A short, human-readable summary of the problem type" + status: + type: integer + description: The HTTP status code for this occurrence of the problem + format: uint32 + detail: + type: string + description: A human-readable explanation specific to this occurrence of + the problem + instance: + type: string + description: A URI reference that identifies the specific occurrence of + the problem + format: uri + DeviceInfo: + title: DeviceInfo + required: + - deviceAuthenticationInfo + - deviceId + - enabled + type: object + properties: + deviceAuthenticationInfo: + type: string + description: "Information needed for secondary authentication of the IoT\ + \ device to the data network - see ETSI TS 129 561 [i.4] and ETSI TS 129\ + \ 061 [i.5] for 5G and LTE procedures, respectively. This attribute is\ + \ implementation dependent and should be logically linked to the identifiers\ + \ of the IoT device listed hereafter." + deviceMetadata: + type: array + description: 'Additional information about the IoT device. This attribute + is implementation dependent and may be expressed as an array of keyvalue + pairs. ' + items: + $ref: '#/components/schemas/KeyValuePair' + gpsi: + type: string + description: GPSI of the IoT device if 5G-enabled (see note 1). + pei: + type: string + description: PEI of the IoT device if 5G-enabled (see note 1). + supi: + type: string + description: SUPI of the IoT device if 5G-enabled (see note 1). + msisdn: + type: string + description: MSISDN of the IoT device if LTE-enabled (see note 1). + imei: + type: string + description: IMEI of the IoT device if LTE-enabled (see note 1). + imsi: + type: string + description: IMSI of the IoT device if LTE-enabled (see note 1). + iccid: + type: string + description: ICCID of the IoT device (see note 1). + deviceId: + type: string + description: Human-readable identifier of the IoT device. + requestedMecTrafficRule: + type: array + description: "MEC traffic rules the IoT device is requested to be associated\ + \ to (see note 2). The data type definition is as per ETSI GS\_MEC 010-2\ + \ [i.6]." + items: + $ref: '#/components/schemas/TrafficRuleDescriptor' + requestedIotPlatformId: + type: string + description: IoT platform to which the IoT device is requested to be associated + to (see note 2). + requestedUserTransportId: + type: string + description: User transport to which the IoT device is requested to be associated + to (see note 2). + deviceSpecificMessageFormats: + $ref: '#/components/schemas/DeviceSpecificMessageFormats' + downlinkInfo: + $ref: '#/components/schemas/DownlinkInfo' + clientCertificate: + type: string + description: Client-side SSL/TLS certificate to be used by the MEC IoTS + to interact with the user transport provided by the associated IoT platform + in case the MEC IoTS acts on behalf of the IoT device. + enabled: + type: boolean + description: Indication whether the IoT device has a valid associated traffic + rule (TRUE) or not (FALSE). See note 3. + description: "NOTE 1: At least one attribute among gpsi, pei, supi, msisdn,\ + \ imei, imsi, and iccid should be provided. Sufficient security\n measures\ + \ shall be put in place when any attribute among PEI, SUPI, IMEI, and IMSI\ + \ is disclosed over the API.\nNOTE 2: Until a valid traffic rule is not provided,\ + \ the device will not be able to use the IoTS. A valid traffic rule is provided\n\ + \ by one of the following options:\n • the requestedMecTrafficRule\ + \ attribute;\n • the requestedIotPlatformId attribute when the IoT\ + \ platform offers only one user transport;\n • the combination of requestedIotPlatformId\ + \ and requestedUserTransportId.\nNOTE 3: Enabled is a pseudo-attribute which\ + \ needs to be maintained by the IoTS based on the presence or not of a valid\n\ + \ traffic rule associated to the device. It cannot be set directly\ + \ by the service consumer. \n" + example: + deviceSpecificMessageFormats: + eventMsgFormat: + includeDeviceMetadata: true + includeIccid: true + includeDeviceAddr: true + includeImei: true + includeImsi: true + includeSupi: true + selectedSerializer: JSON + eventTopic: eventTopic + includeDeviceId: true + includePei: true + uplinkMsgFormat: + includeDeviceMetadata: true + includeIccid: true + includeDeviceAddr: true + includeImei: true + uplinkTopic: uplinkTopic + includeImsi: true + includeSupi: true + selectedSerializer: null + includeDevicePort: true + includeDeviceId: true + includePei: true + clientCertificate: clientCertificate + downlinkInfo: + downlinkTopic: downlinkTopic + devicePort: 5 + imsi: imsi + supi: supi + deviceId: deviceId + requestedMecTrafficRule: + - action: SEE_DESCRIPTION + trafficRuleId: trafficRuleId + dstInterface: + interfaceType: TUNNEL + dstIPAddress: dstIPAddress + srcMACAddress: srcMACAddress + dstMACAddress: dstMACAddress + tunnelInfo: + tunnelSrcAddress: tunnelSrcAddress + tunnelType: GTP-U + tunnelSpecificData: tunnelSpecificData + tunnelDstAddress: tunnelDstAddress + filterType: per FLOW + priority: 0 + trafficFilter: + - srcTunnelPort: + - srcTunnelPort + - srcTunnelPort + dstAddress: + - dstAddress + - dstAddress + srcAddress: + - srcAddress + - srcAddress + srcPort: + - srcPort + - srcPort + uri: + - uri + - uri + tC: 5 + protocol: + - protocol + - protocol + dstTunnelPort: + - dstTunnelPort + - dstTunnelPort + dSCP: 1 + dstPort: + - dstPort + - dstPort + packetLabel: + - packetLabel + - packetLabel + qCI: 6 + srcTunnelAddress: + - srcTunnelAddress + - srcTunnelAddress + tag: + - tag + - tag + tgtTunnelAddress: + - tgtTunnelAddress + - tgtTunnelAddress + - srcTunnelPort: + - srcTunnelPort + - srcTunnelPort + dstAddress: + - dstAddress + - dstAddress + srcAddress: + - srcAddress + - srcAddress + srcPort: + - srcPort + - srcPort + uri: + - uri + - uri + tC: 5 + protocol: + - protocol + - protocol + dstTunnelPort: + - dstTunnelPort + - dstTunnelPort + dSCP: 1 + dstPort: + - dstPort + - dstPort + packetLabel: + - packetLabel + - packetLabel + qCI: 6 + srcTunnelAddress: + - srcTunnelAddress + - srcTunnelAddress + tag: + - tag + - tag + tgtTunnelAddress: + - tgtTunnelAddress + - tgtTunnelAddress + - action: SEE_DESCRIPTION + trafficRuleId: trafficRuleId + dstInterface: + interfaceType: TUNNEL + dstIPAddress: dstIPAddress + srcMACAddress: srcMACAddress + dstMACAddress: dstMACAddress + tunnelInfo: + tunnelSrcAddress: tunnelSrcAddress + tunnelType: GTP-U + tunnelSpecificData: tunnelSpecificData + tunnelDstAddress: tunnelDstAddress + filterType: per FLOW + priority: 0 + trafficFilter: + - srcTunnelPort: + - srcTunnelPort + - srcTunnelPort + dstAddress: + - dstAddress + - dstAddress + srcAddress: + - srcAddress + - srcAddress + srcPort: + - srcPort + - srcPort + uri: + - uri + - uri + tC: 5 + protocol: + - protocol + - protocol + dstTunnelPort: + - dstTunnelPort + - dstTunnelPort + dSCP: 1 + dstPort: + - dstPort + - dstPort + packetLabel: + - packetLabel + - packetLabel + qCI: 6 + srcTunnelAddress: + - srcTunnelAddress + - srcTunnelAddress + tag: + - tag + - tag + tgtTunnelAddress: + - tgtTunnelAddress + - tgtTunnelAddress + - srcTunnelPort: + - srcTunnelPort + - srcTunnelPort + dstAddress: + - dstAddress + - dstAddress + srcAddress: + - srcAddress + - srcAddress + srcPort: + - srcPort + - srcPort + uri: + - uri + - uri + tC: 5 + protocol: + - protocol + - protocol + dstTunnelPort: + - dstTunnelPort + - dstTunnelPort + dSCP: 1 + dstPort: + - dstPort + - dstPort + packetLabel: + - packetLabel + - packetLabel + qCI: 6 + srcTunnelAddress: + - srcTunnelAddress + - srcTunnelAddress + tag: + - tag + - tag + tgtTunnelAddress: + - tgtTunnelAddress + - tgtTunnelAddress + enabled: true + gpsi: gpsi + requestedUserTransportId: requestedUserTransportId + iccid: iccid + pei: pei + requestedIotPlatformId: requestedIotPlatformId + deviceMetadata: + - value: value + key: key + - value: value + key: key + deviceAuthenticationInfo: deviceAuthenticationInfo + imei: imei + msisdn: msisdn + IotPlatformInfo: + title: IotPlatformInfo + required: + - enabled + - iotPlatformId + - userTransportInfo + type: object + properties: + iotPlatformId: + type: string + description: Identifier of the IoT platform. + userTransportInfo: + minItems: 1 + type: array + description: Information about the user transport(s) provided by the IoT + platform. + items: + $ref: '#/components/schemas/MBTransportInfo' + customServicesTransportInfo: + minItems: 0 + type: array + description: "Transport enabling access to vendor-specific services provided\ + \ by the IoT platform. The data type definition is as per ETSI GS MEC\ + \ 011 [i.2]." + items: + $ref: '#/components/schemas/TransportInfo' + enabled: + type: boolean + description: Indication whether the IoT platform is capable of providing + user transports and vendor-specific services (TRUE) or not (FALSE). + example: + iotPlatformId: iotPlatformId + customServicesTransportInfo: + - implSpecificInfo: implSpecificInfo + protocol: protocol + endpoint: null + security: null + name: name + description: description + id: id + type: null + version: version + - implSpecificInfo: implSpecificInfo + protocol: protocol + endpoint: null + security: null + name: name + description: description + id: id + type: null + version: version + userTransportInfo: + - implSpecificInfo: + uplinkTopics: + - uplinkTopics + - uplinkTopics + downlinkTopics: + - downlinkTopics + - downlinkTopics + eventTopics: + - eventTopics + - eventTopics + protocol: protocol + endpoint: + uris: + - uris + - uris + addresses: + - port: 0 + host: host + - port: 0 + host: host + fqdn: + - fqdn + - fqdn + alternative: alternative + security: + extensions: extensions + oAuth2Info: + tokenEndpoint: http://example.com/aeiou + grantTypes: + - OAUTH2_AUTHORIZATION_CODE + - OAUTH2_AUTHORIZATION_CODE + name: name + description: description + id: id + type: REST_HTTP + version: version + - implSpecificInfo: + uplinkTopics: + - uplinkTopics + - uplinkTopics + downlinkTopics: + - downlinkTopics + - downlinkTopics + eventTopics: + - eventTopics + - eventTopics + protocol: protocol + endpoint: + uris: + - uris + - uris + addresses: + - port: 0 + host: host + - port: 0 + host: host + fqdn: + - fqdn + - fqdn + alternative: alternative + security: + extensions: extensions + oAuth2Info: + tokenEndpoint: http://example.com/aeiou + grantTypes: + - OAUTH2_AUTHORIZATION_CODE + - OAUTH2_AUTHORIZATION_CODE + name: name + description: description + id: id + type: REST_HTTP + version: version + enabled: true + MBTransportInfo: + title: MBTransportInfo + required: + - endpoint + - id + - implSpecificInfo + - name + - protocol + - security + - type + - version + type: object + properties: + id: + type: string + description: "The identifier of this transport as per ETSI GS\_MEC\_011\ + \ [i.2]." + name: + type: string + description: "The name of this transport as per ETSI GS\_MEC\_011\_[i.2]." + description: + type: string + description: "Human-readable description of this transport as per ETSI GS\_\ + MEC 011 [i.2]." + type: + $ref: '#/components/schemas/TransportType' + protocol: + type: string + description: "The name of the protocol used. Being the transport of MB_TOPIC_BASED\ + \ type, this attribute should be typically set to \"MQTT\" or \"AMQP.\"" + version: + type: string + description: "The version of the protocol used as per ETSI GS\_MEC\_011\_\ + [i.2]." + endpoint: + $ref: '#/components/schemas/EndPointInfo' + security: + $ref: '#/components/schemas/SecurityInfo' + implSpecificInfo: + $ref: '#/components/schemas/ImplSpecificInfo' + example: + implSpecificInfo: + uplinkTopics: + - uplinkTopics + - uplinkTopics + downlinkTopics: + - downlinkTopics + - downlinkTopics + eventTopics: + - eventTopics + - eventTopics + protocol: protocol + endpoint: + uris: + - uris + - uris + addresses: + - port: 0 + host: host + - port: 0 + host: host + fqdn: + - fqdn + - fqdn + alternative: alternative + security: + extensions: extensions + oAuth2Info: + tokenEndpoint: http://example.com/aeiou + grantTypes: + - OAUTH2_AUTHORIZATION_CODE + - OAUTH2_AUTHORIZATION_CODE + name: name + description: description + id: id + type: REST_HTTP + version: version + EventMsg: + title: EventMsg + required: + - eventTopic + - selectedSerializer + type: object + properties: + eventTopic: + type: string + description: 'Topic where the message containing application-specific information + should be published. ' + selectedSerializer: + $ref: '#/components/schemas/SerializerType' + includeDeviceAddr: + type: boolean + description: Indication whether to include the IP address of the IoT device + (TRUE) or not (FALSE). + includeDeviceMetadata: + type: boolean + description: Indication whether to include the metadata about the IoT device + (TRUE) or not (FALSE). + includePei: + type: boolean + description: Indication whether to include the PEI of the IoT device (TRUE) + or not (FALSE). + includeSupi: + type: boolean + description: Indication whether to include the SUPI of the IoT device (TRUE) + or not (FALSE). + includeImei: + type: boolean + description: Indication whether to include the IMEI of the IoT device (TRUE) + or not (FALSE). + includeImsi: + type: boolean + description: Indication whether to include the IMSI of the IoT device (TRUE) + or not (FALSE). + includeIccid: + type: boolean + description: Indication whether to include the ICCID of the IoT device (TRUE) + or not (FALSE). + includeDeviceId: + type: boolean + description: Indication whether to include the human-readable identified + of the IoT device (TRUE) or not (FALSE). + example: + includeDeviceMetadata: true + includeIccid: true + includeDeviceAddr: true + includeImei: true + includeImsi: true + includeSupi: true + selectedSerializer: JSON + eventTopic: eventTopic + includeDeviceId: true + includePei: true + UplinkMsg: + title: UplinkMsg + required: + - selectedSerializer + - uplinkTopic + type: object + properties: + uplinkTopic: + type: string + description: "Topic where the message containing the data generated by the\ + \ IoT device(s) should be published, in order to be consumed by the end\ + \ IoT application(s)." + selectedSerializer: + $ref: '#/components/schemas/SerializerType' + includeDevicePort: + type: boolean + description: Indication whether to include the UDP port of the remote IoT + device (TRUE) or not (FALSE). + includeDeviceAddr: + type: boolean + description: Indication whether to include the IP address of the IoT device + (TRUE) or not (FALSE). + includeDeviceMetadata: + type: boolean + description: Indication whether to include the metadata about the IoT device + (TRUE) or not (FALSE). + includePei: + type: boolean + description: Indication whether to include the PEI of the IoT device (TRUE) + or not (FALSE). + includeSupi: + type: boolean + description: Indication whether to include the SUPI of the IoT device (TRUE) + or not (FALSE). + includeImei: + type: boolean + description: Indication whether to include the IMEI of the IoT device (TRUE) + or not (FALSE). + includeImsi: + type: boolean + description: Indication whether to include the IMSI of the IoT device (TRUE) + or not (FALSE). + includeIccid: + type: boolean + description: Indication whether to include the ICCID of the IoT device (TRUE) + or not (FALSE). + includeDeviceId: + type: boolean + description: Indication whether to include the human-readable identified + of the IoT device (TRUE) or not (FALSE). + example: + includeDeviceMetadata: true + includeIccid: true + includeDeviceAddr: true + includeImei: true + uplinkTopic: uplinkTopic + includeImsi: true + includeSupi: true + selectedSerializer: null + includeDevicePort: true + includeDeviceId: true + includePei: true + DeviceSpecificMessageFormats: + type: object + properties: + eventMsgFormat: + $ref: '#/components/schemas/EventMsg' + uplinkMsgFormat: + $ref: '#/components/schemas/UplinkMsg' + description: Format of the messages to be published by the MEC IoTS on the user + transport provided by the associated IoT platform in case the MEC IoTS acts + on behalf of the IoT device. + example: + eventMsgFormat: + includeDeviceMetadata: true + includeIccid: true + includeDeviceAddr: true + includeImei: true + includeImsi: true + includeSupi: true + selectedSerializer: JSON + eventTopic: eventTopic + includeDeviceId: true + includePei: true + uplinkMsgFormat: + includeDeviceMetadata: true + includeIccid: true + includeDeviceAddr: true + includeImei: true + uplinkTopic: uplinkTopic + includeImsi: true + includeSupi: true + selectedSerializer: null + includeDevicePort: true + includeDeviceId: true + includePei: true + DownlinkInfo: + type: object + properties: + downlinkTopic: + type: string + description: Topic associated to the IoT device. This topic should be used + by an end IoT application to send downlink data to the IoT device. + devicePort: + type: integer + description: "UDP port to be used by the MEC IoTS for the outgoing downlink\ + \ packets towards the IoT device. In case a default value is used, this\ + \ attribute is optional." + description: Downlink communication configuration of the user transport provided + by the associated IoT platform in case the MEC IoTS acts on behalf of the + IoT device. + example: + downlinkTopic: downlinkTopic + devicePort: 5 + ImplSpecificInfo: + type: object + properties: + eventTopics: + minItems: 0 + type: array + description: Topics used to publish events related to the established session + between the IoT device(s) and the end IoT application(s) on the user transport. + items: + type: string + uplinkTopics: + type: array + description: "Topics used to publish data generated by the IoT device(s)\ + \ on the user transport, in order to be consumed by the end IoT application(s)." + items: + type: string + downlinkTopics: + type: array + description: "Topics used to publish data generated by the IoT applications(s)\ + \ on the user transport, in order to be consumed by the end IoT device(s)." + items: + type: string + description: Additional implementation specific details of the transport. + example: + uplinkTopics: + - uplinkTopics + - uplinkTopics + downlinkTopics: + - downlinkTopics + - downlinkTopics + eventTopics: + - eventTopics + - eventTopics + SerializerType: + type: string + description: The enumeration SerializerType represents types of serializers. + enum: + - JSON + - XML + - PROTOBUF3 + TransportInfo: + title: TransportInfo + required: + - endpoint + - id + - name + - protocol + - security + - type + - version + type: object + properties: + id: + type: string + description: The identifier of this transport. + name: + type: string + description: The name of this transport. + description: + type: string + description: Human-readable description of this transport. + type: + $ref: '#/components/schemas/TransportType' + protocol: + type: string + description: The name of the protocol used. Shall be set to "HTTP" for a + REST API. + version: + type: string + description: The version of the protocol used. + endpoint: + $ref: '#/components/schemas/EndPointInfo' + security: + $ref: '#/components/schemas/SecurityInfo' + implSpecificInfo: + type: string + description: Additional implementation specific details of the transport. + example: + implSpecificInfo: implSpecificInfo + protocol: protocol + endpoint: null + security: null + name: name + description: description + id: id + type: null + version: version + TransportType: + type: string + description: Enumeration representing types of transports. + enum: + - REST_HTTP + - MB_TOPIC_BASED + - MB_ROUTING + - MB_PUBSUB + - RPC + - RPC_STREAMING + - WEBSOCKET + EndPointInfo: + title: EndPointInfo + type: object + properties: + uris: + type: array + description: "Entry point information of the service as string, formatted\ + \ according to URI syntax (see IETF RFC 3986 [8]). Shall be used for REST\ + \ APIs. See note." + items: + type: string + fqdn: + type: array + description: Fully Qualified Domain Name of the service. See note. + items: + type: string + addresses: + type: array + items: + $ref: '#/components/schemas/Addresses' + alternative: + type: string + description: "Entry point information of the service in a format defined\ + \ by an implementation, or in an external specification. See\_note." + description: "NOTE: Exactly one of \"uris\", \"fqdn\", \"addresses\" or \"alternative\"\ + \ shall be present. \n" + example: + uris: + - uris + - uris + addresses: + - port: 0 + host: host + - port: 0 + host: host + fqdn: + - fqdn + - fqdn + alternative: alternative + SecurityInfo: + type: object + properties: + oAuth2Info: + $ref: '#/components/schemas/OAuth2Info' + extensions: + type: string + description: "Extensions for alternative transport mechanisms. These extensions\ + \ depend on the actual transport and are out of scope of the present document.\ + \ For instance, such extensions may be used to signal the necessary parameters\ + \ for the client to use TLS-based authorization defined for alternative\ + \ transports (see ETSI GS MEC 009 [5] for more information).\n" + example: + extensions: extensions + oAuth2Info: + tokenEndpoint: http://example.com/aeiou + grantTypes: + - OAUTH2_AUTHORIZATION_CODE + - OAUTH2_AUTHORIZATION_CODE + Addresses: + required: + - host + - port + type: object + properties: + host: + type: string + description: Host portion of the address. + port: + type: integer + description: Port portion of the address. + description: Entry point information of the service as one or more pairs of + IP address and port. See note. + example: + port: 0 + host: host + OAuth2Info: + required: + - grantTypes + type: object + properties: + grantTypes: + type: array + description: "List of supported OAuth 2.0 grant types.\nEach entry shall\ + \ be one of the following permitted values:\n- OAUTH2_AUTHORIZATION_CODE:\ + \ Authorization code grant type\n- OAUTH2_IMPLICIT_GRANT: Implicit grant\ + \ type\n- OAUTH2_RESOURCE_OWNER: Resource owner password credentials grant\ + \ type\n- OAUTH2_CLIENT_CREDENTIALS: Client credentials grant type\nOnly\ + \ the value \"OAUTH2_CLIENT_CREDENTIALS\" is supported in the present\ + \ document.\n" + items: + type: string + enum: + - OAUTH2_AUTHORIZATION_CODE + - OAUTH2_IMPLICIT_GRANT + - OAUTH2_RESOURCE_OWNER + - OAUTH2_CLIENT_CREDENTIALS + tokenEndpoint: + type: string + description: The token endpoint. Shall be present unless the grant type + is OAUTH2_IMPLICIT_GRANT. + format: uri + description: "Parameters related to use of OAuth 2.0. Shall be present in case\ + \ OAuth 2.0 (see IETF RFC 6749 [13]) is supported to secure the provision\ + \ of the service over the transport." + example: + tokenEndpoint: http://example.com/aeiou + grantTypes: + - OAUTH2_AUTHORIZATION_CODE + - OAUTH2_AUTHORIZATION_CODE + TrafficRuleDescriptor: + title: TrafficRuleDescriptor + required: + - action + - filterType + - priority + - trafficFilter + - trafficRuleId + type: object + properties: + trafficRuleId: + type: string + description: Identifies the traffic rule. + filterType: + type: string + description: "Definition of filter type: per FLOW or PACKET\n\nIf it is\ + \ per FLOW, the filter matches upstream (e.g. UE->EPC) packets and downstream\ + \ (e.g. EPC->UE) packets are handled by the same context.\n" + enum: + - per FLOW + - per PACKET + priority: + type: integer + description: "Priority of this traffic rule within the range 0 to 255. If\ + \ traffic rule conflicts, the one with higher priority take precedence.\ + \ See note\_1." + trafficFilter: + type: array + description: The filter used to identify specific flow/packets that need + to be handled by the MEC host. + items: + $ref: '#/components/schemas/TrafficFilter' + action: + type: string + description: "Identifies the action of the MEC host data plane, when a packet\ + \ matches the trafficFilter, the example actions include:\nDROP,\nFORWARD_DECAPSULATED,\n\ + FORWARD_ENCAPSULATED,\nPASSTHROUGH,\nDUPLICATE_DECAPSULATED,\nDUPLICATE_ENCAPSULATED " + enum: + - SEE_DESCRIPTION + dstInterface: + $ref: '#/components/schemas/InterfaceDescriptor' + description: "NOTE 1: Value indicates the priority in descending order, i.e.\ + \ with 0 as the highest priority and 255 as the lowest\n priority.\n\ + NOTE 2: Some applications (like inline/tap) require two interfaces. The first\ + \ interface in the case of inline/tap is on the\n client (e.g. UE)\ + \ side and the second on the core network (e.g. EPC) side. \n" + example: + action: SEE_DESCRIPTION + trafficRuleId: trafficRuleId + dstInterface: + interfaceType: TUNNEL + dstIPAddress: dstIPAddress + srcMACAddress: srcMACAddress + dstMACAddress: dstMACAddress + tunnelInfo: + tunnelSrcAddress: tunnelSrcAddress + tunnelType: GTP-U + tunnelSpecificData: tunnelSpecificData + tunnelDstAddress: tunnelDstAddress + filterType: per FLOW + priority: 0 + trafficFilter: + - srcTunnelPort: + - srcTunnelPort + - srcTunnelPort + dstAddress: + - dstAddress + - dstAddress + srcAddress: + - srcAddress + - srcAddress + srcPort: + - srcPort + - srcPort + uri: + - uri + - uri + tC: 5 + protocol: + - protocol + - protocol + dstTunnelPort: + - dstTunnelPort + - dstTunnelPort + dSCP: 1 + dstPort: + - dstPort + - dstPort + packetLabel: + - packetLabel + - packetLabel + qCI: 6 + srcTunnelAddress: + - srcTunnelAddress + - srcTunnelAddress + tag: + - tag + - tag + tgtTunnelAddress: + - tgtTunnelAddress + - tgtTunnelAddress + - srcTunnelPort: + - srcTunnelPort + - srcTunnelPort + dstAddress: + - dstAddress + - dstAddress + srcAddress: + - srcAddress + - srcAddress + srcPort: + - srcPort + - srcPort + uri: + - uri + - uri + tC: 5 + protocol: + - protocol + - protocol + dstTunnelPort: + - dstTunnelPort + - dstTunnelPort + dSCP: 1 + dstPort: + - dstPort + - dstPort + packetLabel: + - packetLabel + - packetLabel + qCI: 6 + srcTunnelAddress: + - srcTunnelAddress + - srcTunnelAddress + tag: + - tag + - tag + tgtTunnelAddress: + - tgtTunnelAddress + - tgtTunnelAddress + TrafficFilter: + title: TrafficFilter + type: object + properties: + srcAddress: + type: array + description: "An IP address or a range of IP addresses.\nFor IPv4, the IP\ + \ address could be an IP address plus mask, or an individual IP address,\ + \ or a range of IP addresses.\nFor IPv6, the IP address could be an IP\ + \ prefix, or a range of IP prefixes." + items: + type: string + dstAddress: + type: array + description: "An IP address or a range of IP addresses.\nFor IPv4, the IP\ + \ address could be an IP address plus mask, or an individual IP address,\ + \ or a range of IP addresses.\nFor IPv6, the IP address could be an IP\ + \ prefix, or a range of IP prefixes." + items: + type: string + srcPort: + type: array + description: A port or a range of ports. + items: + type: string + dstPort: + type: array + description: A port or a range of ports. + items: + type: string + protocol: + type: array + description: Specify the protocol of the traffic filter. + items: + type: string + tag: + type: array + description: Used for tag based traffic rule. + items: + type: string + uri: + type: array + description: "An URI label, in application layer, i.e. in HTTP message,\ + \ is used to filter the traffic." + items: + type: string + packetLabel: + type: array + description: "A customized packet label in network layer, as defined by\ + \ the owner of the MEC platform, is used to filter the traffic." + items: + type: string + srcTunnelAddress: + type: array + description: Used for GTP tunnel based traffic rule. + items: + type: string + tgtTunnelAddress: + type: array + description: Used for GTP tunnel based traffic rule. + items: + type: string + srcTunnelPort: + type: array + description: Used for GTP tunnel based traffic rule. + items: + type: string + dstTunnelPort: + type: array + description: Used for GTP tunnel based traffic rule. + items: + type: string + qCI: + type: integer + description: Used to match all packets that have the same QCI. + dSCP: + type: integer + description: Used to match all IPv4 packets that have the same DSCP. + tC: + type: integer + description: Used to match all IPv6 packets that have the same TC. + example: + srcTunnelPort: + - srcTunnelPort + - srcTunnelPort + dstAddress: + - dstAddress + - dstAddress + srcAddress: + - srcAddress + - srcAddress + srcPort: + - srcPort + - srcPort + uri: + - uri + - uri + tC: 5 + protocol: + - protocol + - protocol + dstTunnelPort: + - dstTunnelPort + - dstTunnelPort + dSCP: 1 + dstPort: + - dstPort + - dstPort + packetLabel: + - packetLabel + - packetLabel + qCI: 6 + srcTunnelAddress: + - srcTunnelAddress + - srcTunnelAddress + tag: + - tag + - tag + tgtTunnelAddress: + - tgtTunnelAddress + - tgtTunnelAddress + InterfaceDescriptor: + title: InterfaceDescriptor + required: + - interfaceType + type: object + properties: + interfaceType: + type: string + description: "Type of interface: TUNNEL, MAC, IP, etc." + enum: + - TUNNEL + - MAC + - IP + tunnelInfo: + $ref: '#/components/schemas/TunnelInfo' + srcMACAddress: + type: string + description: "If the interface type is MAC, the source address identifies\ + \ the MAC address of the interface." + dstMACAddress: + type: string + description: "If the interface type is MAC, the destination address identifies\ + \ the MAC address of the destination. Only used for dstInterface." + dstIPAddress: + type: string + description: "If the interface type is IP, the destination address identifies\ + \ the IP address of the destination. Only used for dstInterface." + example: + interfaceType: TUNNEL + dstIPAddress: dstIPAddress + srcMACAddress: srcMACAddress + dstMACAddress: dstMACAddress + tunnelInfo: + tunnelSrcAddress: tunnelSrcAddress + tunnelType: GTP-U + tunnelSpecificData: tunnelSpecificData + tunnelDstAddress: tunnelDstAddress + TunnelInfo: + title: TunnelInfo + required: + - tunnelDstAddress + - tunnelSrcAddress + - tunnelType + type: object + properties: + tunnelType: + type: string + description: "Type of tunnel: GTP-U, GRE, etc." + enum: + - GTP-U + - GRE + tunnelDstAddress: + type: string + description: Destination address of the tunnel. + tunnelSrcAddress: + type: string + description: Source address of the tunnel. + tunnelSpecificData: + type: string + description: Parameters specific to the tunnel. + example: + tunnelSrcAddress: tunnelSrcAddress + tunnelType: GTP-U + tunnelSpecificData: tunnelSpecificData + tunnelDstAddress: tunnelDstAddress + KeyValuePair: + type: object + properties: + key: + type: string + value: + type: string + description: Key-value pairs for device metadata + example: + value: value + key: key + inline_response_200: + type: object + properties: + items: + $ref: '#/components/schemas/DeviceInfo' + example: + items: + deviceSpecificMessageFormats: + eventMsgFormat: + includeDeviceMetadata: true + includeIccid: true + includeDeviceAddr: true + includeImei: true + includeImsi: true + includeSupi: true + selectedSerializer: JSON + eventTopic: eventTopic + includeDeviceId: true + includePei: true + uplinkMsgFormat: + includeDeviceMetadata: true + includeIccid: true + includeDeviceAddr: true + includeImei: true + uplinkTopic: uplinkTopic + includeImsi: true + includeSupi: true + selectedSerializer: null + includeDevicePort: true + includeDeviceId: true + includePei: true + clientCertificate: clientCertificate + downlinkInfo: + downlinkTopic: downlinkTopic + devicePort: 5 + imsi: imsi + supi: supi + deviceId: deviceId + requestedMecTrafficRule: + - action: SEE_DESCRIPTION + trafficRuleId: trafficRuleId + dstInterface: + interfaceType: TUNNEL + dstIPAddress: dstIPAddress + srcMACAddress: srcMACAddress + dstMACAddress: dstMACAddress + tunnelInfo: + tunnelSrcAddress: tunnelSrcAddress + tunnelType: GTP-U + tunnelSpecificData: tunnelSpecificData + tunnelDstAddress: tunnelDstAddress + filterType: per FLOW + priority: 0 + trafficFilter: + - srcTunnelPort: + - srcTunnelPort + - srcTunnelPort + dstAddress: + - dstAddress + - dstAddress + srcAddress: + - srcAddress + - srcAddress + srcPort: + - srcPort + - srcPort + uri: + - uri + - uri + tC: 5 + protocol: + - protocol + - protocol + dstTunnelPort: + - dstTunnelPort + - dstTunnelPort + dSCP: 1 + dstPort: + - dstPort + - dstPort + packetLabel: + - packetLabel + - packetLabel + qCI: 6 + srcTunnelAddress: + - srcTunnelAddress + - srcTunnelAddress + tag: + - tag + - tag + tgtTunnelAddress: + - tgtTunnelAddress + - tgtTunnelAddress + - srcTunnelPort: + - srcTunnelPort + - srcTunnelPort + dstAddress: + - dstAddress + - dstAddress + srcAddress: + - srcAddress + - srcAddress + srcPort: + - srcPort + - srcPort + uri: + - uri + - uri + tC: 5 + protocol: + - protocol + - protocol + dstTunnelPort: + - dstTunnelPort + - dstTunnelPort + dSCP: 1 + dstPort: + - dstPort + - dstPort + packetLabel: + - packetLabel + - packetLabel + qCI: 6 + srcTunnelAddress: + - srcTunnelAddress + - srcTunnelAddress + tag: + - tag + - tag + tgtTunnelAddress: + - tgtTunnelAddress + - tgtTunnelAddress + - action: SEE_DESCRIPTION + trafficRuleId: trafficRuleId + dstInterface: + interfaceType: TUNNEL + dstIPAddress: dstIPAddress + srcMACAddress: srcMACAddress + dstMACAddress: dstMACAddress + tunnelInfo: + tunnelSrcAddress: tunnelSrcAddress + tunnelType: GTP-U + tunnelSpecificData: tunnelSpecificData + tunnelDstAddress: tunnelDstAddress + filterType: per FLOW + priority: 0 + trafficFilter: + - srcTunnelPort: + - srcTunnelPort + - srcTunnelPort + dstAddress: + - dstAddress + - dstAddress + srcAddress: + - srcAddress + - srcAddress + srcPort: + - srcPort + - srcPort + uri: + - uri + - uri + tC: 5 + protocol: + - protocol + - protocol + dstTunnelPort: + - dstTunnelPort + - dstTunnelPort + dSCP: 1 + dstPort: + - dstPort + - dstPort + packetLabel: + - packetLabel + - packetLabel + qCI: 6 + srcTunnelAddress: + - srcTunnelAddress + - srcTunnelAddress + tag: + - tag + - tag + tgtTunnelAddress: + - tgtTunnelAddress + - tgtTunnelAddress + - srcTunnelPort: + - srcTunnelPort + - srcTunnelPort + dstAddress: + - dstAddress + - dstAddress + srcAddress: + - srcAddress + - srcAddress + srcPort: + - srcPort + - srcPort + uri: + - uri + - uri + tC: 5 + protocol: + - protocol + - protocol + dstTunnelPort: + - dstTunnelPort + - dstTunnelPort + dSCP: 1 + dstPort: + - dstPort + - dstPort + packetLabel: + - packetLabel + - packetLabel + qCI: 6 + srcTunnelAddress: + - srcTunnelAddress + - srcTunnelAddress + tag: + - tag + - tag + tgtTunnelAddress: + - tgtTunnelAddress + - tgtTunnelAddress + enabled: true + gpsi: gpsi + requestedUserTransportId: requestedUserTransportId + iccid: iccid + pei: pei + requestedIotPlatformId: requestedIotPlatformId + deviceMetadata: + - value: value + key: key + - value: value + key: key + deviceAuthenticationInfo: deviceAuthenticationInfo + imei: imei + msisdn: msisdn + registered_devices_body: + type: object + properties: + DeviceInfo: + $ref: '#/components/schemas/DeviceInfo' + example: + DeviceInfo: + deviceSpecificMessageFormats: + eventMsgFormat: + includeDeviceMetadata: true + includeIccid: true + includeDeviceAddr: true + includeImei: true + includeImsi: true + includeSupi: true + selectedSerializer: JSON + eventTopic: eventTopic + includeDeviceId: true + includePei: true + uplinkMsgFormat: + includeDeviceMetadata: true + includeIccid: true + includeDeviceAddr: true + includeImei: true + uplinkTopic: uplinkTopic + includeImsi: true + includeSupi: true + selectedSerializer: null + includeDevicePort: true + includeDeviceId: true + includePei: true + clientCertificate: clientCertificate + downlinkInfo: + downlinkTopic: downlinkTopic + devicePort: 5 + imsi: imsi + supi: supi + deviceId: deviceId + requestedMecTrafficRule: + - action: SEE_DESCRIPTION + trafficRuleId: trafficRuleId + dstInterface: + interfaceType: TUNNEL + dstIPAddress: dstIPAddress + srcMACAddress: srcMACAddress + dstMACAddress: dstMACAddress + tunnelInfo: + tunnelSrcAddress: tunnelSrcAddress + tunnelType: GTP-U + tunnelSpecificData: tunnelSpecificData + tunnelDstAddress: tunnelDstAddress + filterType: per FLOW + priority: 0 + trafficFilter: + - srcTunnelPort: + - srcTunnelPort + - srcTunnelPort + dstAddress: + - dstAddress + - dstAddress + srcAddress: + - srcAddress + - srcAddress + srcPort: + - srcPort + - srcPort + uri: + - uri + - uri + tC: 5 + protocol: + - protocol + - protocol + dstTunnelPort: + - dstTunnelPort + - dstTunnelPort + dSCP: 1 + dstPort: + - dstPort + - dstPort + packetLabel: + - packetLabel + - packetLabel + qCI: 6 + srcTunnelAddress: + - srcTunnelAddress + - srcTunnelAddress + tag: + - tag + - tag + tgtTunnelAddress: + - tgtTunnelAddress + - tgtTunnelAddress + - srcTunnelPort: + - srcTunnelPort + - srcTunnelPort + dstAddress: + - dstAddress + - dstAddress + srcAddress: + - srcAddress + - srcAddress + srcPort: + - srcPort + - srcPort + uri: + - uri + - uri + tC: 5 + protocol: + - protocol + - protocol + dstTunnelPort: + - dstTunnelPort + - dstTunnelPort + dSCP: 1 + dstPort: + - dstPort + - dstPort + packetLabel: + - packetLabel + - packetLabel + qCI: 6 + srcTunnelAddress: + - srcTunnelAddress + - srcTunnelAddress + tag: + - tag + - tag + tgtTunnelAddress: + - tgtTunnelAddress + - tgtTunnelAddress + - action: SEE_DESCRIPTION + trafficRuleId: trafficRuleId + dstInterface: + interfaceType: TUNNEL + dstIPAddress: dstIPAddress + srcMACAddress: srcMACAddress + dstMACAddress: dstMACAddress + tunnelInfo: + tunnelSrcAddress: tunnelSrcAddress + tunnelType: GTP-U + tunnelSpecificData: tunnelSpecificData + tunnelDstAddress: tunnelDstAddress + filterType: per FLOW + priority: 0 + trafficFilter: + - srcTunnelPort: + - srcTunnelPort + - srcTunnelPort + dstAddress: + - dstAddress + - dstAddress + srcAddress: + - srcAddress + - srcAddress + srcPort: + - srcPort + - srcPort + uri: + - uri + - uri + tC: 5 + protocol: + - protocol + - protocol + dstTunnelPort: + - dstTunnelPort + - dstTunnelPort + dSCP: 1 + dstPort: + - dstPort + - dstPort + packetLabel: + - packetLabel + - packetLabel + qCI: 6 + srcTunnelAddress: + - srcTunnelAddress + - srcTunnelAddress + tag: + - tag + - tag + tgtTunnelAddress: + - tgtTunnelAddress + - tgtTunnelAddress + - srcTunnelPort: + - srcTunnelPort + - srcTunnelPort + dstAddress: + - dstAddress + - dstAddress + srcAddress: + - srcAddress + - srcAddress + srcPort: + - srcPort + - srcPort + uri: + - uri + - uri + tC: 5 + protocol: + - protocol + - protocol + dstTunnelPort: + - dstTunnelPort + - dstTunnelPort + dSCP: 1 + dstPort: + - dstPort + - dstPort + packetLabel: + - packetLabel + - packetLabel + qCI: 6 + srcTunnelAddress: + - srcTunnelAddress + - srcTunnelAddress + tag: + - tag + - tag + tgtTunnelAddress: + - tgtTunnelAddress + - tgtTunnelAddress + enabled: true + gpsi: gpsi + requestedUserTransportId: requestedUserTransportId + iccid: iccid + pei: pei + requestedIotPlatformId: requestedIotPlatformId + deviceMetadata: + - value: value + key: key + - value: value + key: key + deviceAuthenticationInfo: deviceAuthenticationInfo + imei: imei + msisdn: msisdn + registered_devices_registeredDeviceId_body: + type: object + properties: + DeviceInfo: + $ref: '#/components/schemas/DeviceInfo' + example: + DeviceInfo: + deviceSpecificMessageFormats: + eventMsgFormat: + includeDeviceMetadata: true + includeIccid: true + includeDeviceAddr: true + includeImei: true + includeImsi: true + includeSupi: true + selectedSerializer: JSON + eventTopic: eventTopic + includeDeviceId: true + includePei: true + uplinkMsgFormat: + includeDeviceMetadata: true + includeIccid: true + includeDeviceAddr: true + includeImei: true + uplinkTopic: uplinkTopic + includeImsi: true + includeSupi: true + selectedSerializer: null + includeDevicePort: true + includeDeviceId: true + includePei: true + clientCertificate: clientCertificate + downlinkInfo: + downlinkTopic: downlinkTopic + devicePort: 5 + imsi: imsi + supi: supi + deviceId: deviceId + requestedMecTrafficRule: + - action: SEE_DESCRIPTION + trafficRuleId: trafficRuleId + dstInterface: + interfaceType: TUNNEL + dstIPAddress: dstIPAddress + srcMACAddress: srcMACAddress + dstMACAddress: dstMACAddress + tunnelInfo: + tunnelSrcAddress: tunnelSrcAddress + tunnelType: GTP-U + tunnelSpecificData: tunnelSpecificData + tunnelDstAddress: tunnelDstAddress + filterType: per FLOW + priority: 0 + trafficFilter: + - srcTunnelPort: + - srcTunnelPort + - srcTunnelPort + dstAddress: + - dstAddress + - dstAddress + srcAddress: + - srcAddress + - srcAddress + srcPort: + - srcPort + - srcPort + uri: + - uri + - uri + tC: 5 + protocol: + - protocol + - protocol + dstTunnelPort: + - dstTunnelPort + - dstTunnelPort + dSCP: 1 + dstPort: + - dstPort + - dstPort + packetLabel: + - packetLabel + - packetLabel + qCI: 6 + srcTunnelAddress: + - srcTunnelAddress + - srcTunnelAddress + tag: + - tag + - tag + tgtTunnelAddress: + - tgtTunnelAddress + - tgtTunnelAddress + - srcTunnelPort: + - srcTunnelPort + - srcTunnelPort + dstAddress: + - dstAddress + - dstAddress + srcAddress: + - srcAddress + - srcAddress + srcPort: + - srcPort + - srcPort + uri: + - uri + - uri + tC: 5 + protocol: + - protocol + - protocol + dstTunnelPort: + - dstTunnelPort + - dstTunnelPort + dSCP: 1 + dstPort: + - dstPort + - dstPort + packetLabel: + - packetLabel + - packetLabel + qCI: 6 + srcTunnelAddress: + - srcTunnelAddress + - srcTunnelAddress + tag: + - tag + - tag + tgtTunnelAddress: + - tgtTunnelAddress + - tgtTunnelAddress + - action: SEE_DESCRIPTION + trafficRuleId: trafficRuleId + dstInterface: + interfaceType: TUNNEL + dstIPAddress: dstIPAddress + srcMACAddress: srcMACAddress + dstMACAddress: dstMACAddress + tunnelInfo: + tunnelSrcAddress: tunnelSrcAddress + tunnelType: GTP-U + tunnelSpecificData: tunnelSpecificData + tunnelDstAddress: tunnelDstAddress + filterType: per FLOW + priority: 0 + trafficFilter: + - srcTunnelPort: + - srcTunnelPort + - srcTunnelPort + dstAddress: + - dstAddress + - dstAddress + srcAddress: + - srcAddress + - srcAddress + srcPort: + - srcPort + - srcPort + uri: + - uri + - uri + tC: 5 + protocol: + - protocol + - protocol + dstTunnelPort: + - dstTunnelPort + - dstTunnelPort + dSCP: 1 + dstPort: + - dstPort + - dstPort + packetLabel: + - packetLabel + - packetLabel + qCI: 6 + srcTunnelAddress: + - srcTunnelAddress + - srcTunnelAddress + tag: + - tag + - tag + tgtTunnelAddress: + - tgtTunnelAddress + - tgtTunnelAddress + - srcTunnelPort: + - srcTunnelPort + - srcTunnelPort + dstAddress: + - dstAddress + - dstAddress + srcAddress: + - srcAddress + - srcAddress + srcPort: + - srcPort + - srcPort + uri: + - uri + - uri + tC: 5 + protocol: + - protocol + - protocol + dstTunnelPort: + - dstTunnelPort + - dstTunnelPort + dSCP: 1 + dstPort: + - dstPort + - dstPort + packetLabel: + - packetLabel + - packetLabel + qCI: 6 + srcTunnelAddress: + - srcTunnelAddress + - srcTunnelAddress + tag: + - tag + - tag + tgtTunnelAddress: + - tgtTunnelAddress + - tgtTunnelAddress + enabled: true + gpsi: gpsi + requestedUserTransportId: requestedUserTransportId + iccid: iccid + pei: pei + requestedIotPlatformId: requestedIotPlatformId + deviceMetadata: + - value: value + key: key + - value: value + key: key + deviceAuthenticationInfo: deviceAuthenticationInfo + imei: imei + msisdn: msisdn + registered_iot_platforms_body: + type: object + properties: + IoTPlatformInfo: + $ref: '#/components/schemas/IotPlatformInfo' + example: + IoTPlatformInfo: + iotPlatformId: iotPlatformId + customServicesTransportInfo: + - implSpecificInfo: implSpecificInfo + protocol: protocol + endpoint: null + security: null + name: name + description: description + id: id + type: null + version: version + - implSpecificInfo: implSpecificInfo + protocol: protocol + endpoint: null + security: null + name: name + description: description + id: id + type: null + version: version + userTransportInfo: + - implSpecificInfo: + uplinkTopics: + - uplinkTopics + - uplinkTopics + downlinkTopics: + - downlinkTopics + - downlinkTopics + eventTopics: + - eventTopics + - eventTopics + protocol: protocol + endpoint: + uris: + - uris + - uris + addresses: + - port: 0 + host: host + - port: 0 + host: host + fqdn: + - fqdn + - fqdn + alternative: alternative + security: + extensions: extensions + oAuth2Info: + tokenEndpoint: http://example.com/aeiou + grantTypes: + - OAUTH2_AUTHORIZATION_CODE + - OAUTH2_AUTHORIZATION_CODE + name: name + description: description + id: id + type: REST_HTTP + version: version + - implSpecificInfo: + uplinkTopics: + - uplinkTopics + - uplinkTopics + downlinkTopics: + - downlinkTopics + - downlinkTopics + eventTopics: + - eventTopics + - eventTopics + protocol: protocol + endpoint: + uris: + - uris + - uris + addresses: + - port: 0 + host: host + - port: 0 + host: host + fqdn: + - fqdn + - fqdn + alternative: alternative + security: + extensions: extensions + oAuth2Info: + tokenEndpoint: http://example.com/aeiou + grantTypes: + - OAUTH2_AUTHORIZATION_CODE + - OAUTH2_AUTHORIZATION_CODE + name: name + description: description + id: id + type: REST_HTTP + version: version + enabled: true + inline_response_200_1: + type: object + properties: + IotPlatformInfo: + $ref: '#/components/schemas/IotPlatformInfo' + example: + IotPlatformInfo: + iotPlatformId: iotPlatformId + customServicesTransportInfo: + - implSpecificInfo: implSpecificInfo + protocol: protocol + endpoint: null + security: null + name: name + description: description + id: id + type: null + version: version + - implSpecificInfo: implSpecificInfo + protocol: protocol + endpoint: null + security: null + name: name + description: description + id: id + type: null + version: version + userTransportInfo: + - implSpecificInfo: + uplinkTopics: + - uplinkTopics + - uplinkTopics + downlinkTopics: + - downlinkTopics + - downlinkTopics + eventTopics: + - eventTopics + - eventTopics + protocol: protocol + endpoint: + uris: + - uris + - uris + addresses: + - port: 0 + host: host + - port: 0 + host: host + fqdn: + - fqdn + - fqdn + alternative: alternative + security: + extensions: extensions + oAuth2Info: + tokenEndpoint: http://example.com/aeiou + grantTypes: + - OAUTH2_AUTHORIZATION_CODE + - OAUTH2_AUTHORIZATION_CODE + name: name + description: description + id: id + type: REST_HTTP + version: version + - implSpecificInfo: + uplinkTopics: + - uplinkTopics + - uplinkTopics + downlinkTopics: + - downlinkTopics + - downlinkTopics + eventTopics: + - eventTopics + - eventTopics + protocol: protocol + endpoint: + uris: + - uris + - uris + addresses: + - port: 0 + host: host + - port: 0 + host: host + fqdn: + - fqdn + - fqdn + alternative: alternative + security: + extensions: extensions + oAuth2Info: + tokenEndpoint: http://example.com/aeiou + grantTypes: + - OAUTH2_AUTHORIZATION_CODE + - OAUTH2_AUTHORIZATION_CODE + name: name + description: description + id: id + type: REST_HTTP + version: version + enabled: true + registered_iot_platforms_registeredIotPlatformId_body: + type: object + properties: + IotPlatformInfo: + $ref: '#/components/schemas/IotPlatformInfo' + example: + IotPlatformInfo: + iotPlatformId: iotPlatformId + customServicesTransportInfo: + - implSpecificInfo: implSpecificInfo + protocol: protocol + endpoint: null + security: null + name: name + description: description + id: id + type: null + version: version + - implSpecificInfo: implSpecificInfo + protocol: protocol + endpoint: null + security: null + name: name + description: description + id: id + type: null + version: version + userTransportInfo: + - implSpecificInfo: + uplinkTopics: + - uplinkTopics + - uplinkTopics + downlinkTopics: + - downlinkTopics + - downlinkTopics + eventTopics: + - eventTopics + - eventTopics + protocol: protocol + endpoint: + uris: + - uris + - uris + addresses: + - port: 0 + host: host + - port: 0 + host: host + fqdn: + - fqdn + - fqdn + alternative: alternative + security: + extensions: extensions + oAuth2Info: + tokenEndpoint: http://example.com/aeiou + grantTypes: + - OAUTH2_AUTHORIZATION_CODE + - OAUTH2_AUTHORIZATION_CODE + name: name + description: description + id: id + type: REST_HTTP + version: version + - implSpecificInfo: + uplinkTopics: + - uplinkTopics + - uplinkTopics + downlinkTopics: + - downlinkTopics + - downlinkTopics + eventTopics: + - eventTopics + - eventTopics + protocol: protocol + endpoint: + uris: + - uris + - uris + addresses: + - port: 0 + host: host + - port: 0 + host: host + fqdn: + - fqdn + - fqdn + alternative: alternative + security: + extensions: extensions + oAuth2Info: + tokenEndpoint: http://example.com/aeiou + grantTypes: + - OAUTH2_AUTHORIZATION_CODE + - OAUTH2_AUTHORIZATION_CODE + name: name + description: description + id: id + type: REST_HTTP + version: version + enabled: true + responses: + "200": + description: OK + "204": + description: No Content + "400": + description: "Bad Request: used to indicate that incorrect parameters were passed\ + \ to the request." + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "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." + 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" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' diff --git a/config/api/sss-api.yaml b/config/api/sss-api.yaml new file mode 100644 index 0000000000000000000000000000000000000000..4ff1f1866bfb7882c3482bbdf94e9b13ee75f013 --- /dev/null +++ b/config/api/sss-api.yaml @@ -0,0 +1,1259 @@ +openapi: 3.0.0 +info: + title: ETSI GS MEC 046 Sensors Sharing Service APIs + description: GS MEC 046 Sensors Sharing Service APIs described using OpenAPI. + contact: + name: ETSI Forge + url: https://forge.etsi.org/rep/mec/gs046-ss-api + email: cti_support@etsi.org + license: + name: BSD-3-Clause + url: https://forge.etsi.org/legal-matters + version: 3.1.1 +externalDocs: + description: "GS MEC 046 Sensors Sharing Service APIs, v3.3.1" + url: https://www.etsi.org/deliver/etsi_gs/MEC/001_099/033/03.01.01_60/gs_mec046v030101p.pdf +servers: +- url: https://localhost/sandboxname/sens/v1 +tags: +- name: sensor-discovery-lookup + description: The Sensor Discovery Lookup is the procedure for applications acquiring the sensor(s) currently available and the related characteristics +- name: sensor-discovery-subscription + description: The Sensor Discovery Subscription is the procedure for applications to request to receive notifications about sensors when sensor information changes +- name: sensor-status-lookup + description: The Sensor Status Lookup is the procedure for applications acquiring the status (e.g. active or error state) of sensor(s) +- name: sensor-status-subscription + description: The Sensor Status Subscription is the procedure for applications to request to receive notifications about sensors when they change their status +- name: sensor-data-lookup + description: The Sensor Data Lookup is the procedure for applications to acquire the last data collected by the sensor(s) +- name: sensor-data-subscription + description: The Sensor Data Subscription is the procedure for applications to request to receive notifications every time new data are collected from the sensor(s) +- name: sensor-management + description: The Sensor Management is the procedure for a MEC application to configure specific parameter(s) on the sensor(s) +paths: + /queries/sensor_discovery: + get: + tags: + - sensor-discovery-lookup + summary: The GET method is used to query the available sensors + description: This method shall support the URI query parameters, request and response data structures, and response codes, as specified in Tables 7.3.3.1-1 and 7.3.3.1-2. + operationId: SensorDiscoveryLookupGET + parameters: + - name: sensorInfo + in: query + description: Object containing the characteristics of the sensor(s) to be selected for the query + required: false + style: form + explode: true + schema: + $ref: '#/components/schemas/SensorInfo' + responses: + "200": + description: "Upon success, a response body containing the available sensors is returned" + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SensorDiscoveryInfo' + "400": + description: "Bad Request: used to indicate that incorrect parameters were passed to the request" + 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" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "403": + description: "Forbidden: operation is not allowed given the current status of the resource" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + /subscriptions/sensor_discovery: + get: + tags: + - sensor-discovery-subscription + summary: The GET method is used to request information about the subscriptions related to sensor discovery for this requestor + description: This method shall support the URI query parameter, request and response data structures, and response codes, as specified in Tables 7.4.3.1-1 and 7.4.3.1-2. + operationId: SensorDiscoverySubscriptionGET + parameters: + - name: subscriptionId + in: query + description: Object containing the characteristics of the sensor(s) to be selected for the query + required: false + style: form + explode: true + schema: + type: "string" + responses: + "200": + description: "Upon success, a response body containing the list of links to requestor's sensor discovery subscriptions is returned" + content: + application/json: + schema: + type: object + items: + $ref: '#/components/schemas/SubscriptionLinkList' + "400": + description: "Bad Request: used to indicate that incorrect parameters were passed to the request" + 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" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "403": + description: "Forbidden: operation is not allowed given the current status of the resource" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + post: + tags: + - sensor-discovery-subscription + summary: The POST method is used to create a new subscription to sensor discovery notifications + description: This method shall support the request and response data structures, and response codes, as specified in Table 7.4.3.4-1 + operationId: SensorDiscoverySubscriptionPOST + requestBody: + description: "This type represents a subscription to notifications from the Sensor-sharing Service regarding events related to changes in sensor information" + required: true + content: + application/json: + schema: + type: object + properties: + SensorDiscoveryEventSubscription: + $ref: '#/components/schemas/SensorDiscoveryEventSubscription' + responses: + "201": + description: "Indicates successful resource creation, where the resource URI shall be returned in the HTTP Location header field" + content: + application/json: + schema: + type: object + items: + $ref: '#/components/schemas/SensorDiscoveryEventSubscription' + "400": + description: "Bad Request: used to indicate that incorrect parameters were passed to the request" + 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" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "403": + description: "Forbidden: operation is not allowed given the current status of the resource" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + /subscriptions/sensor_discovery/{subscriptionId}: + get: + tags: + - sensor-discovery-subscription + summary: The GET method is used to request information about the subscriptions related to sensor status for this requestor + description: This method shall support the URI query parameter, request and response data structures, and response codes, as specified in Tables 7.7.3.1-1 and 7.7.3.1-2. + operationId: SensorDiscoveryIndividualSubscriptionGET + parameters: + - name: subscriptionId + in: path + description: Unique identifiers of the subscription + required: true + style: simple + schema: + type: string + responses: + "200": + description: "Upon success, a response body containing the list of links to requestor's sensor status subscriptions is returned" + content: + application/json: + schema: + type: object + items: + $ref: '#/components/schemas/SubscriptionLinkList' + "400": + description: "Bad Request: used to indicate that incorrect parameters were passed to the request" + 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" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "403": + description: "Forbidden: operation is not allowed given the current status of the resource" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + put: + tags: + - sensor-discovery-subscription + summary: The POST method is used to create a new subscription to sensor discovery notifications + description: This method shall support the request and response data structures, and response codes, as specified in Table 7.4.3.4-1 + operationId: SensorDiscoverySubscriptionPUT + parameters: + - name: subscriptionId + in: path + description: It uniquely identifies the created individual application mobility service + required: true + style: simple + schema: + type: string + requestBody: + description: "New SensorDiscoveryEventSubscription is included as entity body of the request" + required: true + content: + application/json: + schema: + type: object + properties: + SensorDiscoveryEventSubscription: + $ref: '#/components/schemas/SensorDiscoveryEventSubscription' + responses: + "200": + description: "Upon success, a response body containing data type describing the updated sensor discovery subscription is returned" + content: + application/json: + schema: + type: object + items: + $ref: '#/components/schemas/SubscriptionLinkList' + "400": + description: "Bad Request: used to indicate that incorrect parameters were passed to the request" + 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" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "403": + description: "Forbidden: operation is not allowed given the current status of the resource" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + delete: + tags: + - sensor-discovery-subscription + summary: The DELETE method is used to cancel the existing subscription. Cancellation can be made by deleting the resource that represents existing sensor discovery subscription + description: This method shall support the request and response data structures, and response codes, as specified in Tables 7.5.3.5-1 and 7.5.3.5-2 + operationId: SensorDiscoverySubscriptionDELETE + parameters: + - name: subscriptionId + in: path + description: It uniquely identifies the created individual application mobility service + required: true + style: simple + schema: + type: string + responses: + "204": + description: "Upon success, a response 204 No Content without any response body is returned" + content: + application/json: + schema: + type: object + items: + $ref: '#/components/schemas/SubscriptionLinkList' + "400": + description: "Bad Request: used to indicate that incorrect parameters were passed to the request" + 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" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "403": + description: "Forbidden: operation is not allowed given the current status of the resource" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + /queries/sensor_status: + get: + tags: + - sensor-status-lookup + summary: The GET method is used to query the available status + description: This method shall support the URI query parameters, request and response data structures, and response codes, as specified in Tables 7.6.3.1-1 and 7.6.3.1-2 + operationId: SensorStatusLookupGET + parameters: + - name: sensorIdentifier + in: query + description: It uniquely identifies the created individual application mobility service + required: true + style: form + schema: + type: array + items: + type: string + responses: + "200": + description: "Upon success, a response body containing the status information of specific sensors is returned" + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SensorStatusInfo' + "400": + description: "Bad Request: used to indicate that incorrect parameters were passed to the request" + 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" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "403": + description: "Forbidden: operation is not allowed given the current status of the resource" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + /subscriptions/sensor_status: + get: + tags: + - sensor-status-subscription + summary: The GET method is used to request information about the subscriptions related to sensor status for this requestor + description: This method shall support the URI query parameter, request and response data structures, and response codes, as specified in Tables 7.7.3.1-1 and 7.7.3.1-2 + operationId: SensorStatusIndividualSubscriptionGET + parameters: + - name: sensorIdentifier + in: query + description: Unique identifiers of the sensors + required: false + style: form + schema: + type: array + items: + type: string + responses: + "200": + description: "Upon success, a response body containing the list of links to requestor's sensor status subscriptions is returned" + content: + application/json: + schema: + type: object + items: + $ref: '#/components/schemas/SubscriptionLinkList' + "400": + description: "Bad Request: used to indicate that incorrect parameters were passed to the request" + 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" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "403": + description: "Forbidden: operation is not allowed given the current status of the resource" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + post: + tags: + - status-status-subscription + summary: The POST method is used to create a new subscription to sensor status notifications + description: This method shall support the request and response data structures, and response codes, as specified in Table 7.7.3.4-1 + operationId: SensorStatusSubscriptionPOST + requestBody: + description: "The entity body in the request contains data type of the specific sensor status subscription that is to be created" + required: true + content: + application/json: + schema: + type: object + properties: + SensorStatusSubscription: + $ref: '#/components/schemas/SensorStatusSubscription' + responses: + "201": + description: "Indicates successful resource creation, where the resource URI shall be returned in the HTTP Location header field." + content: + application/json: + schema: + type: object + items: + $ref: '#/components/schemas/SensorStatusSubscription' + "400": + description: "Bad Request: used to indicate that incorrect parameters were passed to the request" + 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" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "403": + description: "Forbidden: operation is not allowed given the current status of the resource" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + /subscriptions/sensor_status/{subscriptionId}: + get: + tags: + - sensor-status-subscription + summary: The GET method is used to retrieve information about this subscription + description: This method shall support the request and response data structures, and response codes, as specified in Tables 7.8.3.1-1 and 7.8.3.1-2 + operationId: SensorSatusIndividualSubscriptionGET + parameters: + - name: subscriptionId + in: path + description: Unique identifiers of the subscription + required: true + style: simple + schema: + type: string + responses: + "200": + description: "Upon success, a response body containing data type describing the specific sensor status subscription is returned" + content: + application/json: + schema: + type: object + items: + $ref: '#/components/schemas/SensorStatusSubscription' + "400": + description: "Bad Request: used to indicate that incorrect parameters were passed to the request" + 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" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "403": + description: "Forbidden: operation is not allowed given the current status of the resource" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + put: + tags: + - sensor-status-subscription + summary: The PUT method is used to update the existing subscription + description: This method shall support the URI query parameters, request and response data structures, and response codes, as specified in Tables 7.8.3.2-1 and 7.8.3.2-2 + operationId: SensorStatusSubscriptionPUT + parameters: + - name: subscriptionId + in: path + description: It uniquely identifies the created individual application mobility service + required: true + style: simple + schema: + type: string + requestBody: + description: "New SensorStatusSubscription is included as entity body of the request" + required: true + content: + application/json: + schema: + type: object + properties: + SensorStatusSubscription: + $ref: '#/components/schemas/SensorStatusSubscription' + responses: + "200": + description: "Upon success, a response body containing data type describing the updated sensor status subscription is returned" + content: + application/json: + schema: + type: object + items: + $ref: '#/components/schemas/SensorStatusSubscription' + "400": + description: "Bad Request: used to indicate that incorrect parameters were passed to the request" + 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" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "403": + description: "Forbidden: operation is not allowed given the current status of the resource" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + delete: + tags: + - sensor-status-subscription + summary: The DELETE method is used to cancel the existing subscription + description: This method shall support the request and response data structures, and response codes, as specified in Tables 7.8.3.5-1 and 7.8.3.5-2 + operationId: SensorStatusSubscriptionDELETE + parameters: + - name: subscriptionId + in: path + description: It uniquely identifies a subscription + required: true + style: simple + schema: + type: string + responses: + "204": + description: "Upon success, a response 204 No Content without any response body is returned" + content: + application/json: + schema: + type: object + items: + $ref: '#/components/schemas/SubscriptionLinkList' + "400": + description: "Bad Request: used to indicate that incorrect parameters were passed to the request" + 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" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "403": + description: "Forbidden: operation is not allowed given the current status of the resource" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + /queries/status_data: + get: + tags: + - sensor-data-lookup + summary: The GET method is used to query the last sensor data from specific sensors + description: This method shall support the URI query parameters, request and response data structures, and response codes, as specified in Tables 7.9.3.1-1 and 7.9.3.1-2 + operationId: SensorDataLookupGET + parameters: + - name: sensorIdentifier + in: query + description: It uniquely identifies the created individual application mobility service + required: true + style: form + schema: + type: array + items: + type: string + responses: + "200": + description: "Upon success, a response body containing the last sensor data measured by the sensors is returned" + content: + application/json: + schema: + type: array + minItems: 1 + items: + $ref: '#/components/schemas/SensorData' + "400": + description: "Bad Request: used to indicate that incorrect parameters were passed to the request" + 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" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "403": + description: "Forbidden: operation is not allowed given the current status of the resource" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + /subscriptions/sensor_data: + get: + tags: + - sensor-data-subscription + summary: The GET method is used to request information about the subscriptions related to sensor data for this requestor + description: This method shall support the URI query parameter, request and response data structures, and response codes, as specified in Tables 7.10.3.1-1 and 7.10.3.1-2 + operationId: SensorDataSubscriptionGET + parameters: + - name: sensorIdentifier + in: query + description: Unique identifiers of the sensors + required: true + style: form + schema: + type: array + items: + type: string + responses: + "200": + description: "Upon success, a response body containing the list of links to requestor's sensor status subscriptions is returned" + content: + application/json: + schema: + type: object + items: + $ref: '#/components/schemas/SubscriptionLinkList' + "400": + description: "Bad Request: used to indicate that incorrect parameters were passed to the request" + 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" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "403": + description: "Forbidden: operation is not allowed given the current status of the resource" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + post: + tags: + - sensor-data-subscription + summary: The POST method is used to create a new subscription to sensor status notifications + description: This method shall support the request and response data structures, and response codes, as specified in Table 7.7.3.4-1 + operationId: SensorDataSubscriptionPOST + requestBody: + description: "The entity body in the request contains data type of the specific sensor status subscription that is to be created" + required: true + content: + application/json: + schema: + type: object + properties: + SensorDataSubscription: + $ref: '#/components/schemas/SensorDataSubscription' + responses: + "201": + description: "Indicates successful resource creation, where the resource URI shall be returned in the HTTP Location header field." + content: + application/json: + schema: + type: object + items: + $ref: '#/components/schemas/SensorStatusSubscription' + "400": + description: "Bad Request: used to indicate that incorrect parameters were passed to the request" + 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" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "403": + description: "Forbidden: operation is not allowed given the current status of the resource" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + /queries/status_data/{subscriptionId}: + get: + tags: + - sensor-data-subscription + summary: The GET method is used to retrieve information about this subscription + description: This method shall support the request and response data structures, and response codes, as specified in Tables 7.11.3.1-1 and 7.11.3.1-2 + operationId: SensorDataIndividualSubscriptionGET + parameters: + - name: subscriptionId + in: path + description: Unique identifiers of a subscription + required: true + style: simple + schema: + type: string + responses: + "200": + description: "Upon success, a response body containing data type describing the specific sensor data subscription is returned" + content: + application/json: + schema: + type: object + items: + $ref: '#/components/schemas/SensorDataSubscription' + "400": + description: "Bad Request: used to indicate that incorrect parameters were passed to the request" + 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" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "403": + description: "Forbidden: operation is not allowed given the current status of the resource" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + put: + tags: + - sensor-data-subscription + summary: The PUT method is used to update the existing subscription + description: This method shall support the URI query parameters, request and response data structures, and response codes, as specified in Tables 7.11.3.2-1 and 7.11.3.2-2 + operationId: SensorDataSubscriptionPUT + parameters: + - name: subscriptionId + in: path + description: Unique identifiers of a subscription + required: true + style: simple + schema: + type: string + requestBody: + description: "New SensorDataSubscription is included as entity body of the request" + required: true + content: + application/json: + schema: + type: object + properties: + SensorStatusSubscription: + $ref: '#/components/schemas/SensorDataSubscription' + responses: + "200": + description: "Upon success, a response body containing data type describing the updated sensor data subscription is returned" + content: + application/json: + schema: + type: object + items: + $ref: '#/components/schemas/SensorDataSubscription' + "400": + description: "Bad Request: used to indicate that incorrect parameters were passed to the request" + 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" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "403": + description: "Forbidden: operation is not allowed given the current status of the resource" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + delete: + tags: + - sensor-data-subscription + summary: The DELETE method is used to cancel the existing subscription + description: This method shall support the request and response data structures, and response codes, as specified in Tables 7.11.3.5-1 and 7.11.3.5-2 + operationId: SensorDataSubscriptionDELETE + parameters: + - name: subscriptionId + in: path + description: It uniquely identifies a subscription + required: true + style: simple + schema: + type: string + responses: + "204": + description: "Upon success, a response 204 No Content without any response body is returned" + content: + application/json: + schema: + type: object + items: + $ref: '#/components/schemas/SubscriptionLinkList' + "400": + description: "Bad Request: used to indicate that incorrect parameters were passed to the request" + 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" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "403": + description: "Forbidden: operation is not allowed given the current status of the resource" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + /sensor_management: + get: + tags: + - sensor-management + summary: The GET method is used to receive the sensor characteristics that can be modified on specific sensors + description: This method shall support the URI query parameters, request and response data structures, and response codes, as specified in Tables 7.12.3.1-1 and 7.12.3.1-2 + operationId: SensorMgmtGET + parameters: + - name: sensorIdentifier + in: query + description: It uniquely identifies the created individual application mobility service + required: true + style: form + schema: + type: array + items: + type: string + responses: + "200": + description: "Upon success, a response body containing the characteristics that can be set on the specific sensors are returned" + content: + application/json: + schema: + type: array + minItems: 1 + items: + $ref: '#/components/schemas/SensorCharacteristic' + "400": + description: "Bad Request: used to indicate that incorrect parameters were passed to the request" + 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" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "403": + description: "Forbidden: operation is not allowed given the current status of the resource" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + put: + tags: + - managementn + summary: The PUT method is used to update the value of the characteristics that can be set on a sensor or on a group of sensors + description: This method shall support the URI query parameters, request and response data structures, and response codes, as specified in Tables 7.12.3.2-1 and 7.12.3.2-2 + operationId: SensorMgmtPUT + requestBody: + description: "The list of sensor characteristics to be updated, with the new values to set, is included as entity body of the request" + required: true + content: + application/json: + schema: + type: array + minItems: 1 + items: + $ref: '#/components/schemas/SensorCharacteristic' + responses: + "200": + description: "Upon success, a response body containing data type describing the updated sensor characteristics is returned" + content: + application/json: + schema: + type: object + items: + $ref: '#/components/schemas/SensorCharacteristic' + "400": + description: "Bad Request: used to indicate that incorrect parameters were passed to the request" + 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" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + "403": + description: "Forbidden: operation is not allowed given the current status of the resource" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' +components: + schemas: + SensorStatusInfo: + type: "object" + required: + - sensorIdentifier + - sensorStatusType + properties: + sensorIdentifier: + type: string + description: Unique identifier of the sensor + sensorStatusType: + type: string + description: The status of the sensor + errorInformation: + type: string + description: String explaining the error of the sensor + + SensorData: + type: "object" + required: + - sensorIdentifier + - data + - dataFormat + - dataUnitOfMeasure + properties: + sensorIdentifier: + type: string + description: Unique identifier of the sensor + data: + type: string + description: The status of the sensor + dataFormat: + type: string + description: String explaining the error of the sensor + dataUnitOfMeasure: + type: string + description: String explaining the error of the sensor + dataTimestamp: + $ref: '#/components/schemas/TimeStamp' + description: Time instant at which the data have been collected. + SensorInfo: + type: "object" + required: + - type + - sensorPropertyList + properties: + type: + type: string + description: Type of the sensor + sensorPropertyList: + type: array + items: + type: string + minItems: 1 + description: It indicates the list of properties that the sensor can sense (see saref:Property in ETSI TS 103 264 [4], clause 4.3.8). + sensorCharacteristicList: + type: "array" + items: + $ref: '#/components/schemas/SensorCharacteristic' + minItems: 0 + description: The sensor' characteristics to be matched + geographicalArea: + type: "array" + items: + $ref: '#/components/schemas/AreaInfo' + minItems: 0 + description: The parameters describing the area + SensorDiscoveryInfo: + type: "object" + required: + - sensorIdentifier + - sensorType + - sensorPropertyList + properties: + sensorIdentifier: + type: "string" + description: Unique identifier of the sensor + sensorType: + type: "string" + description: Type of the Sensor + sensorPropertyList: + type: "array" + description: It indicates the list of properties that the sensor can sense + minItems: 1 + items: + type: "string" + sensorCharacteristicList: + type: "array" + description: The sensor' characteristics + minItems: 0 + items: + $ref: '#/components/schemas/SensorCharacteristic' + sensorPosition: + type: "object" + description: Geographical position of the sensor. + $ref: '#/components/schemas/Point' + SensorDiscoveryEventSubscription: + title: SensorDiscoveryEventSubscription + required: + - subscriptionType + type: object + properties: + subscriptionType: + $ref: '#/components/schemas/SubscriptionType' + description: Shall be set to "SensorDiscoveryEventSubscription" + callbackReference: + type: string + format: uri + description: URI exposed by the client on which to receive notifications via HTTP + requestTestNotification: + type: boolean + description: Set to TRUE by the MEC application to request a test notification via HTTP on the callbackReference URI, + websockNotifConfig: + $ref: '#/components/schemas/WebsockNotifConfig' + _links: + $ref: '#/components/schemas/SubscriptionLinks' + sensorInfoList: + description: Object containing the characteristics of the sensor(s) to be selected for the subscription + type: array + items: + type: string + geographicalArea: + description: The parameters describing the area to subscribe + type: array + items: + $ref: '#/components/schemas/AreaInfo' + expiryDeadline: + description: The expiration time of the subscription + $ref: '#/components/schemas/TimeStamp' + SensorStatusSubscription: + title: SensorStatusSubscription + required: + - subscriptionType + type: object + properties: + subscriptionType: + $ref: '#/components/schemas/SubscriptionType' + description: Shall be set to "SensorStatusSubscription" + callbackReference: + type: string + format: uri + description: URI exposed by the client on which to receive notifications via HTTP + requestTestNotification: + type: boolean + description: Set to TRUE by the MEC application to request a test notification via HTTP on the callbackReference URI, + websockNotifConfig: + $ref: '#/components/schemas/WebsockNotifConfig' + _links: + $ref: '#/components/schemas/SubscriptionLinks' + expiryDeadline: + description: The expiration time of the subscription + $ref: '#/components/schemas/TimeStamp' + SensorDataSubscription: + title: SensorDataSubscription + required: + - subscriptionType + type: object + properties: + subscriptionType: + $ref: '#/components/schemas/SubscriptionType' + description: Shall be set to "SensorDataSubscription" + callbackReference: + type: string + format: uri + description: URI exposed by the client on which to receive notifications via HTTP + requestTestNotification: + type: boolean + description: Set to TRUE by the MEC application to request a test notification via HTTP on the callbackReference URI, + websockNotifConfig: + $ref: '#/components/schemas/WebsockNotifConfig' + _links: + $ref: '#/components/schemas/SubscriptionLinks' + expiryDeadline: + description: The expiration time of the subscription + $ref: '#/components/schemas/TimeStamp' + SubscriptionType: + title: SubscriptionType + enum: + - SensorDiscoveryEventSubscription + - SensorStatusSubscription + - SensorDataSubscription + type: string + WebsockNotifConfig: + type: object + properties: + websocketUri: + description: Set by AMS to indicate to the service consumer the Websocket URI to be used for delivering notifications. + type: string + format: uri + requestWebsocketUri: + type: boolean + description: Set to true by the service consumer to indicate that Websocket delivery is requested. + SensorCharacteristic: + type: "object" + description: This type represents a sensor' characteristic which details the type of sensor and its working functionalities, such as the model of the sensor, the sampling frequency, the operating range, the accuracy + required: + - characteristicName + - characteristicValue + properties: + characteristicName: + type: "string" + description: The name of the characteristic + characteristicValue: + type: "string" + description: The value of the characteristic. + characteristicUnitOfMeasure: + type: "string" + description: The unit of measure of the characteristic (see saref:UnitOfMeasure in ETSI TS 103 264 [4], clause 4.3.8). + Point: + type: "object" + description: This type represents the geographical location of a point + required: + - latitude + - longitude + properties: + latitude: + type: "number" + description: Location latitude, expressed in the range -90° to +90° + longitude: + type: "number" + description: Location longitude, expressed in the range -180° to +180°. + SubscriptionLinks: + title: SubscriptionLinks + required: + - self + type: object + properties: + self: + $ref: '#/components/schemas/LinkType' + SubscriptionLinkList.links: + title: SubscriptionLinkList.links + required: + - self + type: object + properties: + self: + $ref: '#/components/schemas/LinkType' + subscriptions: + type: array + description: The MEC application's subscriptions + items: + $ref: '#/components/schemas/SubscriptionLinkList.subscription' + description: List of hyperlinks related to the resource. + SubscriptionLinkList.subscription: + title: SubscriptionLinkList.subscription + required: + - href + - subscriptionType + type: object + properties: + href: + type: string + description: The URI referring to the subscription + subscriptionType: + type: string + description: Type of the subscription + SubscriptionLinkList: + title: SubscriptionLinkList + required: + - _links + type: object + properties: + _links: + $ref: '#/components/schemas/SubscriptionLinkList.links' + ProblemDetails: + type: object + properties: + type: + type: string + description: A URI reference according to IETF RFC 3986 that identifies + the problem type + format: uri + title: + type: string + description: "A short, human-readable summary of the problem type" + status: + type: integer + description: The HTTP status code for this occurrence of the problem + format: uint32 + detail: + type: string + description: A human-readable explanation specific to this occurrence of + the problem + instance: + type: string + description: A URI reference that identifies the specific occurrence of + the problem + format: uri + LinkType: + title: LinkType + required: + - href + type: object + properties: + href: + type: string + description: The URI referring to the subscription. + description: "'This data type represents a type of link'" + example: + href: href + TimeStamp: + title: TimeStamp + required: + - nanoSeconds + - seconds + type: object + properties: + seconds: + type: integer + description: + "'The seconds part of the Time. Time is defined as Unix-time + since January 1, 1970, 00:00:00 UTC.'" + nanoSeconds: + type: integer + description: + "'The nanoseconds part of the Time. Time is defined as Unix-time + since January 1, 1970, 00:00:00 UTC.'" + description: "'This data type represents the time stamp as Unix-time since + January 1, 1970, 00:00:00 UTC'" + ShapeType: + title: ShapeType + enum: + - CIRCLE + - POLYGON + type: integer + AreaInfo: + title: AreaInfo + required: + - shape + - points + type: object + properties: + shape: + description: "The shape of the area monitored" + $ref: '#/components/schemas/ShapeType' + points: + description: "Shall include one point if the shape is CIRCLE. Shall include 3-15 points if the shape is POLYGON" + type: array + items: + $ref: '#/components/schemas/Point' + radius: + type: integer + description: "Shall be present if the shape is CIRCLE" diff --git a/js-apps/frontend/src/js/components/dialogs/detailed-data-dialog.js b/js-apps/frontend/src/js/components/dialogs/detailed-data-dialog.js index e1ec13085fd2a3904bc9cd41520a2fa160d2393a..e9c2c474f3b2b9683a890f36b9bc633924ad0e46 100644 --- a/js-apps/frontend/src/js/components/dialogs/detailed-data-dialog.js +++ b/js-apps/frontend/src/js/components/dialogs/detailed-data-dialog.js @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 ETSI. All rights reserved. + * Copyright (c) 2022-2025 ETSI. All rights reserved. */ import React, { Component } from 'react'; @@ -78,7 +78,7 @@ class DetailedDataDialog extends Component { mapService(loggerName) { //loggerName is a combination of loggerName and mep name - let prefixes = ['meep-loc-serv', 'meep-federation', 'meep-rnis', 'meep-dai', 'meep-wais', 'meep-app-enablement', 'meep-ams', 'meep-vis', 'meep-tm']; + let prefixes = ['meep-loc-serv', 'meep-federation', 'meep-rnis', 'meep-dai', 'meep-wais', 'meep-app-enablement', 'meep-ams', 'meep-iot', 'meep-sss', 'meep-vis', 'meep-tm']; let prefixStd = ''; var prefix = ''; for (var i = 0; i < prefixes.length; i++) { @@ -113,9 +113,15 @@ class DetailedDataDialog extends Component { case 'meep-vis': prefixStd = '030'; break; + case 'meep-iot': + prefixStd = '033'; + break; case 'meep-federation': prefixStd = '040'; break; + case 'meep-sss': + prefixStd = '046'; + break; default: prefixStd = 'N/A'; } diff --git a/js-apps/frontend/src/js/containers/app-container.js b/js-apps/frontend/src/js/containers/app-container.js index ac387e5d4194fd9bf81d9bd77ae59fdafa277434..e01699982eab2fcbf64c6dd96a4ba1fb68f7d128 100644 --- a/js-apps/frontend/src/js/containers/app-container.js +++ b/js-apps/frontend/src/js/containers/app-container.js @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 ETSI. All rights reserved. + * Copyright (c) 2022-2025 ETSI. All rights reserved. */ import _ from 'lodash'; @@ -120,7 +120,7 @@ const apiTableMaxSize = 100; var metricsQuery = { /* tags: [{ name: 'logger_name', - value: 'meep-loc-serv,meep-federation,meep-rnis,meep-dai,meep-vis,meep-federation,meep-wais,meep-app-enablement' + value: 'meep-loc-serv,meep-federation,meep-rnis,meep-dai,meep-vis,meep-iot,meep-sss,meep-federation,meep-wais,meep-app-enablement' }], */ fields: ['id', 'endpoint', 'url', 'method', 'resp_code', 'resp_body', 'body', 'proc_time', 'logger_name', 'direction'], diff --git a/js-apps/frontend/src/js/containers/home/home-page-container.js b/js-apps/frontend/src/js/containers/home/home-page-container.js index ac7623f89751ff614110b6345187d803fc9e5fef..ea50792b75d6f51ed4002d65c4817423ba3e08c1 100644 --- a/js-apps/frontend/src/js/containers/home/home-page-container.js +++ b/js-apps/frontend/src/js/containers/home/home-page-container.js @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 ETSI. All rights reserved. + * Copyright (c) 2022-2025 ETSI. All rights reserved. */ import { connect } from 'react-redux'; @@ -70,8 +70,8 @@ class HomePageContainer extends Component { MEC Sandbox provides the user with a choice of scenarios combining different network technologies (4G, 5G, Wi-Fi, MEC Federation) and terminal types. Combining these assets in a geolocated environment, a user can gain hands-on experience on the behaviour and capabilities of the Location (MEC013), Radio Network - Information (MEC012), Traffic Management APIs (MEC015), Device application interface (MEC016), Application Mobility (MEC021), WLAN Information (MEC028) and - V2X Information API (MEC030) service API and MEC Federation Service API (MEC040) service APIs. + Information (MEC012), Traffic Management APIs (MEC015), Device application interface (MEC016), Application Mobility (MEC021), WLAN Information (MEC028), + V2X Information API (MEC030) service API, MEC Federation Service API (MEC040) service APIs and Sensors-Sharing Services (MEC046). MEC Sandbox provides also a support for Edge Native Connector (3GPP TS 29.222: 3rd Generation Partnership Project; Technical Specification Group Core Network and Terminals; Common API Framework for 3GPP Northbound APIs).

diff --git a/js-apps/frontend/src/js/containers/sandbox/api-table.js b/js-apps/frontend/src/js/containers/sandbox/api-table.js index 5c805d98217562b7c99e30978f15aa407c7e54f5..542fcfd134f420b895f741f9c5c721ebb984198c 100644 --- a/js-apps/frontend/src/js/containers/sandbox/api-table.js +++ b/js-apps/frontend/src/js/containers/sandbox/api-table.js @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 ETSI. All rights reserved. + * Copyright (c) 2022-2025 ETSI. All rights reserved. */ import PropTypes from 'prop-types'; @@ -111,7 +111,7 @@ class ApiTable extends Component { mapService(loggerName) { //loggerName is a combination of loggerName and mep name - let prefixes = ['meep-loc-serv', 'meep-rnis', 'meep-federation', 'meep-dai', 'meep-wais', 'meep-app-enablement', 'meep-ams', 'meep-vis', 'meep-tm']; + let prefixes = ['meep-loc-serv', 'meep-rnis', 'meep-federation', 'meep-dai', 'meep-wais', 'meep-app-enablement', 'meep-ams', 'meep-vis', 'meep-iot', 'meep-sss', 'meep-tm']; let prefixStd = ''; var prefix = ''; for (var i = 0; i < prefixes.length; i++) { @@ -146,9 +146,15 @@ class ApiTable extends Component { case 'meep-vis': prefixStd = '030'; break; - case 'meep-federation': + case 'meep-iot': + prefixStd = '033'; + break; + case 'meep-fed': prefixStd = '040'; break; + case 'meep-sss': + prefixStd = '046'; + break; default: prefixStd = 'N/A'; } diff --git a/networks/4g-5g-mc-v2x-fed-iot.yaml b/networks/4g-5g-mc-v2x-fed-iot.yaml new file mode 100644 index 0000000000000000000000000000000000000000..ae05e1e9fc8c1e8c6a405bd280f84d6763397885 --- /dev/null +++ b/networks/4g-5g-mc-v2x-fed-iot.yaml @@ -0,0 +1,5529 @@ +version: 1.10.0 +name: 4g-5g-mc-v2x-fed-iot +deployment: + netChar: + latency: 50 + latencyVariation: 10 + latencyDistribution: Normal + throughputDl: 1000 + throughputUl: 1000 + throughput: null + packetLoss: null + connectivity: + model: OPEN + d2d: + d2dMaxDistance: 100 + disableD2dViaNetwork: null + userMeta: + mec-sandbox: '{"defaultStaticUeCount": 1, "defaultLowVelocityUeCount": 1, "defaultHighVelocityUeCount": 1, "highVelocitySpeedThreshold": 10}' + network-info: '{"type": "local", "path":"4G-Macro-Network-Topology.png"}' + domains: + - + id: PUBLIC + name: PUBLIC + type: PUBLIC + netChar: + latency: 6 + latencyVariation: 2 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + zones: + - + id: PUBLIC-COMMON + name: PUBLIC-COMMON + type: COMMON + netChar: + latency: 5 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + networkLocations: + - + id: PUBLIC-COMMON-DEFAULT + name: PUBLIC-COMMON-DEFAULT + type: DEFAULT + netChar: + latency: 1 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + terminalLinkLatency: null + terminalLinkLatencyVariation: null + terminalLinkThroughput: null + terminalLinkPacketLoss: null + meta: null + userMeta: null + cellularPoaConfig: null + poa4GConfig: null + poa5GConfig: null + poaWifiConfig: null + geoData: null + physicalLocations: null + interFogLatency: null + interFogLatencyVariation: null + interFogThroughput: null + interFogPacketLoss: null + interEdgeLatency: null + interEdgeLatencyVariation: null + interEdgeThroughput: null + interEdgePacketLoss: null + edgeFogLatency: null + edgeFogLatencyVariation: null + edgeFogThroughput: null + edgeFogPacketLoss: null + meta: null + userMeta: null + interZoneLatency: null + interZoneLatencyVariation: null + interZoneThroughput: null + interZonePacketLoss: null + meta: null + userMeta: null + cellularDomainConfig: null + - + id: f1c5f2fe-5fbb-48fa-a0df-6ad00e4eeb4c + name: sandbox-operator + type: OPERATOR-CELLULAR + netChar: + latency: 6 + latencyVariation: 2 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + cellularDomainConfig: + mnc: '001' + mcc: '001' + defaultCellId: FFFFFFF + zones: + - + id: sandbox-operator-COMMON + name: sandbox-operator-COMMON + type: COMMON + netChar: + latency: 5 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + networkLocations: + - + id: sandbox-operator-COMMON-DEFAULT + name: sandbox-operator-COMMON-DEFAULT + type: DEFAULT + netChar: + latency: 1 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + terminalLinkLatency: null + terminalLinkLatencyVariation: null + terminalLinkThroughput: null + terminalLinkPacketLoss: null + meta: null + userMeta: null + cellularPoaConfig: null + poa4GConfig: null + poa5GConfig: null + poaWifiConfig: null + geoData: null + physicalLocations: null + interFogLatency: null + interFogLatencyVariation: null + interFogThroughput: null + interFogPacketLoss: null + interEdgeLatency: null + interEdgeLatencyVariation: null + interEdgeThroughput: null + interEdgePacketLoss: null + edgeFogLatency: null + edgeFogLatencyVariation: null + edgeFogThroughput: null + edgeFogPacketLoss: null + meta: null + userMeta: null + - + id: 6fd7e9d1-3646-474d-880b-d4a21799d280 + name: zone01 + type: ZONE + netChar: + latency: 5 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + meta: + display.map.color: blueviolet + networkLocations: + - + id: zone01-DEFAULT + name: zone01-DEFAULT + type: DEFAULT + netChar: + latency: 1 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + physicalLocations: + - + id: 138c1c53-7f25-4c52-a025-3b607da5f97a + name: mep1 + type: EDGE + geoData: + location: + type: Point + coordinates: + - 7.421096 + - 43.73408 + radius: null + path: null + eopMode: null + velocity: null + d2dInRange: null + poaInRange: null + connected: true + dataNetwork: {dnn: null, ladn: null, ecsp: null} + processes: + - + id: 62cc2936-af22-4946-b3e5-5b9143d7203f + name: mec011-1 + type: EDGE-APP + image: 'meep-docker-registry:30001/meep-app-enablement' + netChar: + latencyDistribution: Normal + throughputDl: 1000 + throughputUl: 1000 + latency: null + latencyVariation: null + throughput: null + packetLoss: null + isExternal: null + environment: null + commandArguments: null + commandExe: null + serviceConfig: null + gpuConfig: null + memoryConfig: null + cpuConfig: null + externalConfig: null + status: null + userChartLocation: null + userChartAlternateValues: null + userChartGroup: null + meta: null + userMeta: null + appLatency: null + appLatencyVariation: null + appThroughput: null + appPacketLoss: null + placementId: null + - + id: b8a203be-ac81-45a6-8d88-fdb1f8f5393b + name: mec012-1 + type: EDGE-APP + image: 'meep-docker-registry:30001/meep-rnis' + environment: 'MEEP_SCOPE_OF_LOCALITY=MEC_SYSTEM,MEEP_CONSUMED_LOCAL_ONLY=false' + netChar: + latencyDistribution: Normal + throughputDl: 1000 + throughputUl: 1000 + latency: null + latencyVariation: null + throughput: null + packetLoss: null + isExternal: null + commandArguments: null + commandExe: null + serviceConfig: null + gpuConfig: null + memoryConfig: null + cpuConfig: null + externalConfig: null + status: null + userChartLocation: null + userChartAlternateValues: null + userChartGroup: null + meta: null + userMeta: null + appLatency: null + appLatencyVariation: null + appThroughput: null + appPacketLoss: null + placementId: null + - + id: 298b2c0c-7efa-45d3-8b47-8ab3c009b845 + name: mec013-1 + type: EDGE-APP + image: 'meep-docker-registry:30001/meep-loc-serv' + environment: 'MEEP_SCOPE_OF_LOCALITY=MEC_SYSTEM,MEEP_CONSUMED_LOCAL_ONLY=false' + netChar: + latencyDistribution: Normal + throughputDl: 1000 + throughputUl: 1000 + latency: null + latencyVariation: null + throughput: null + packetLoss: null + isExternal: null + commandArguments: null + commandExe: null + serviceConfig: null + gpuConfig: null + memoryConfig: null + cpuConfig: null + externalConfig: null + status: null + userChartLocation: null + userChartAlternateValues: null + userChartGroup: null + meta: null + userMeta: null + appLatency: null + appLatencyVariation: null + appThroughput: null + appPacketLoss: null + placementId: null + - + id: f1e4d448-e277-496b-bf63-98391cfd20fb + name: mec015-1 + type: EDGE-APP + image: 'meep-docker-registry:30001/meep-tm' + environment: 'MEEP_SCOPE_OF_LOCALITY=MEC_SYSTEM,MEEP_CONSUMED_LOCAL_ONLY=false' + netChar: + latencyDistribution: Normal + throughputDl: 1000 + throughputUl: 1000 + latency: null + latencyVariation: null + throughput: null + packetLoss: null + isExternal: null + commandArguments: null + commandExe: null + serviceConfig: null + gpuConfig: null + memoryConfig: null + cpuConfig: null + externalConfig: null + status: null + userChartLocation: null + userChartAlternateValues: null + userChartGroup: null + meta: null + userMeta: null + appLatency: null + appLatencyVariation: null + appThroughput: null + appPacketLoss: null + placementId: null + - + id: fb4d3c6a-197e-4e3f-96ae-ab4d5ac663a9 + name: mec016-1 + type: EDGE-APP + image: 'meep-docker-registry:30001/meep-dai' + environment: 'MEEP_SCOPE_OF_LOCALITY=MEC_SYSTEM,MEEP_CONSUMED_LOCAL_ONLY=false' + netChar: + latencyDistribution: Normal + throughputDl: 1000 + throughputUl: 1000 + latency: null + latencyVariation: null + throughput: null + packetLoss: null + isExternal: null + commandArguments: null + commandExe: null + serviceConfig: null + gpuConfig: null + memoryConfig: null + cpuConfig: null + externalConfig: null + status: null + userChartLocation: null + userChartAlternateValues: null + userChartGroup: null + meta: null + userMeta: null + appLatency: null + appLatencyVariation: null + appThroughput: null + appPacketLoss: null + placementId: null + - + id: b8ae165a-a1e3-4d6c-86d9-52c59ad314b6 + name: mec028-1 + type: EDGE-APP + image: 'meep-docker-registry:30001/meep-wais' + environment: 'MEEP_SCOPE_OF_LOCALITY=MEC_SYSTEM,MEEP_CONSUMED_LOCAL_ONLY=false' + netChar: + latencyDistribution: Normal + throughputDl: 1000 + throughputUl: 1000 + latency: null + latencyVariation: null + throughput: null + packetLoss: null + isExternal: null + commandArguments: null + commandExe: null + serviceConfig: null + gpuConfig: null + memoryConfig: null + cpuConfig: null + externalConfig: null + status: null + userChartLocation: null + userChartAlternateValues: null + userChartGroup: null + meta: null + userMeta: null + appLatency: null + appLatencyVariation: null + appThroughput: null + appPacketLoss: null + placementId: null + - + id: 5015e45f-be53-4e28-8f47-c107fd1dea8c + name: mec030-1 + type: EDGE-APP + image: 'meep-docker-registry:30001/meep-vis' + environment: 'MEEP_SCOPE_OF_LOCALITY=MEC_SYSTEM,MEEP_CONSUMED_LOCAL_ONLY=false,MEEP_PREDICT_MODEL_SUPPORTED=true,MEEP_POA_LIST="5g-small-cell-1;5g-small-cell-2;5g-small-cell-3;5g-small-cell-4"' + netChar: + latencyDistribution: Normal + throughputDl: 1000 + throughputUl: 1000 + latency: null + latencyVariation: null + throughput: null + packetLoss: null + isExternal: null + commandArguments: null + commandExe: null + serviceConfig: null + gpuConfig: null + memoryConfig: null + cpuConfig: null + externalConfig: null + status: null + userChartLocation: null + userChartAlternateValues: null + userChartGroup: null + meta: null + userMeta: null + appLatency: null + appLatencyVariation: null + appThroughput: null + appPacketLoss: null + placementId: null + - + id: a88756b5-f816-4fd0-9977-936d1382b6d8 + name: mec040-1 + type: EDGE-APP + image: 'meep-docker-registry:30001/meep-federation' + environment: 'MEEP_SCOPE_OF_LOCALITY=MEC_SYSTEM,MEEP_CONSUMED_LOCAL_ONLY=false,MEEP_BROKER="mqtt://172.29.10.56:1883",MEEP_TOPIC="ETSI/MEC/Federation"' + netChar: + throughputDl: 1000 + throughputUl: 1000 + latency: null + latencyVariation: null + latencyDistribution: null + throughput: null + packetLoss: null + isExternal: null + commandArguments: null + commandExe: null + serviceConfig: null + gpuConfig: null + memoryConfig: null + cpuConfig: null + externalConfig: null + status: null + userChartLocation: null + userChartAlternateValues: null + userChartGroup: null + meta: null + userMeta: null + appLatency: null + appLatencyVariation: null + appThroughput: null + appPacketLoss: null + placementId: null + - + id: 8e92e8f3-d826-4271-9220-d2ec188e61d7 + name: mec033-1 + type: EDGE-APP + image: 'meep-docker-registry:30001/meep-iot' + environment: 'MEEP_SCOPE_OF_LOCALITY=MEC_SYSTEM,MEEP_CONSUMED_LOCAL_ONLY=false,MEEP_BROKER="mqtt://172.29.10.56:1883",MEEP_TOPIC="ETSI/MEC/Iot"' + netChar: + throughputDl: 1000 + throughputUl: 1000 + latency: null + latencyVariation: null + latencyDistribution: null + throughput: null + packetLoss: null + isExternal: null + commandArguments: null + commandExe: null + serviceConfig: null + gpuConfig: null + memoryConfig: null + cpuConfig: null + externalConfig: null + status: null + userChartLocation: null + userChartAlternateValues: null + userChartGroup: null + meta: null + userMeta: null + appLatency: null + appLatencyVariation: null + appThroughput: null + appPacketLoss: null + placementId: null + - + id: 6a0c5907-0125-4948-9d51-55f3091c0d58 + name: mec046-1 + type: EDGE-APP + isExternal: false + userChartLocation: null + userChartAlternateValues: null + userChartGroup: null + image: 'meep-docker-registry:30001/meep-sss' + environment: 'MEEP_SCOPE_OF_LOCALITY=MEC_SYSTEM,MEEP_CONSUMED_LOCAL_ONLY=false,MEEP_BROKER="mqtt://172.29.10.56:1883",MEEP_TOPIC="ETSI/MEC/Iot"' + commandArguments: "" + commandExe: "" + serviceConfig: null + gpuConfig: null + cpuConfig: null + memoryConfig: null + externalConfig: null + netChar: + latency: 0 + latencyVariation: 0 + throughputDl: 1000 + throughputUl: 1000 + packetLoss: 0 + placementId: "" + netChar: + latencyDistribution: Normal + throughputDl: 1000 + throughputUl: 1000 + latency: null + latencyVariation: null + throughput: null + packetLoss: null + isExternal: null + networkLocationsInRange: null + wireless: null + wirelessType: null + meta: null + userMeta: null + linkLatency: null + linkLatencyVariation: null + linkThroughput: null + linkPacketLoss: null + macId: null + terminalLinkLatency: null + terminalLinkLatencyVariation: null + terminalLinkThroughput: null + terminalLinkPacketLoss: null + meta: null + userMeta: null + cellularPoaConfig: null + poa4GConfig: null + poa5GConfig: null + poaWifiConfig: null + geoData: null + - + id: 3480e529-3fc1-44b8-a892-42bbbfa4018f + name: 4g-macro-cell-1 + type: POA-4G + netChar: + latency: 10 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + poa4GConfig: + cellId: '1010101' + geoData: + location: + type: Point + coordinates: + - 7.419344 + - 43.72764 + radius: 400 + path: null + eopMode: null + velocity: null + d2dInRange: null + poaInRange: null + physicalLocations: + - + id: 3331ee44-2236-1111-0020-5a3c2bde0eaa + name: 10.10.0.4 + type: UE + geoData: + location: + type: Point + coordinates: + - 7.420433 + - 43.729942 + path: + type: LineString + coordinates: + - + - 7.420433 + - 43.729942 + - + - 7.420659 + - 43.73036 + - + - 7.420621 + - 43.731045 + - + - 7.420922 + - 43.73129 + - + - 7.421345 + - 43.731373 + - + - 7.42135 + - 43.73168 + - + - 7.421148 + - 43.73173 + - + - 7.420616 + - 43.731964 + - + - 7.419779 + - 43.732197 + - + - 7.419111 + - 43.732353 + - + - 7.418931 + - 43.732315 + - + - 7.418345 + - 43.731964 + - + - 7.418319 + - 43.73186 + - + - 7.418024 + - 43.73179 + - + - 7.41796 + - 43.731728 + - + - 7.417729 + - 43.731743 + - + - 7.417463 + - 43.731632 + - + - 7.417507 + - 43.73148 + - + - 7.417428 + - 43.731407 + - + - 7.417343 + - 43.731396 + - + - 7.417334 + - 43.731133 + - + - 7.417317 + - 43.73053 + - + - 7.417164 + - 43.7304 + - + - 7.417164 + - 43.72998 + - + - 7.417319 + - 43.729916 + - + - 7.419065 + - 43.730103 + eopMode: REVERSE + velocity: 9 + radius: null + d2dInRange: null + poaInRange: null + wireless: true + wirelessType: 'wifi,5g,4g' + meta: + display.map.icon: ion-android-walk + netChar: + latencyDistribution: Normal + throughputDl: 1000 + throughputUl: 1000 + latency: null + latencyVariation: null + throughput: null + packetLoss: null + macId: 005C0A0A0004 + isExternal: null + networkLocationsInRange: null + connected: null + dataNetwork: null + userMeta: null + processes: null + linkLatency: null + linkLatencyVariation: null + linkThroughput: null + linkPacketLoss: null + - + id: 1e2600f4-4861-43d6-abcb-07f4481a124c + name: 10.10.0.3 + type: UE + geoData: + location: + type: Point + coordinates: + - 7.423684 + - 43.727867 + path: + type: LineString + coordinates: + - + - 7.423684 + - 43.727867 + - + - 7.422571 + - 43.727325 + - + - 7.422421 + - 43.727333 + - + - 7.42196 + - 43.727123 + - + - 7.421828 + - 43.72711 + - + - 7.420988 + - 43.726707 + - + - 7.420757 + - 43.72654 + - + - 7.420393 + - 43.72653 + - + - 7.420207 + - 43.726746 + - + - 7.419985 + - 43.72686 + - + - 7.41988 + - 43.72701 + - + - 7.419869 + - 43.727287 + - + - 7.419807 + - 43.727474 + - + - 7.419671 + - 43.727585 + - + - 7.419502 + - 43.727608 + - + - 7.419402 + - 43.728645 + - + - 7.421238 + - 43.72874 + - + - 7.421412 + - 43.728493 + - + - 7.421532 + - 43.728237 + - + - 7.421697 + - 43.72798 + - + - 7.421928 + - 43.727783 + - + - 7.422381 + - 43.727524 + - + - 7.422507 + - 43.72749 + - + - 7.422922 + - 43.72768 + - + - 7.422894 + - 43.727715 + - + - 7.423666 + - 43.72804 + - + - 7.423763 + - 43.72794 + - + - 7.4237 + - 43.727905 + - + - 7.423684 + - 43.727867 + eopMode: LOOP + velocity: 9 + radius: null + d2dInRange: null + poaInRange: null + wireless: true + wirelessType: 'wifi,5g,4g' + meta: + display.map.icon: ion-android-walk + netChar: + latencyDistribution: Normal + throughputDl: 1000 + throughputUl: 1000 + latency: null + latencyVariation: null + throughput: null + packetLoss: null + macId: 005C0A0A0003 + isExternal: null + networkLocationsInRange: null + connected: null + dataNetwork: null + userMeta: null + processes: null + linkLatency: null + linkLatencyVariation: null + linkThroughput: null + linkPacketLoss: null + terminalLinkLatency: null + terminalLinkLatencyVariation: null + terminalLinkThroughput: null + terminalLinkPacketLoss: null + meta: null + userMeta: null + cellularPoaConfig: null + poa5GConfig: null + poaWifiConfig: null + - + id: 8c2599e8-dd88-4ff2-9cf4-6fc54663c152 + name: 4g-macro-cell-2 + type: POA-4G + netChar: + latency: 10 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + poa4GConfig: + cellId: '2020202' + geoData: + location: + type: Point + coordinates: + - 7.413819 + - 43.729538 + radius: 400 + path: null + eopMode: null + velocity: null + d2dInRange: null + poaInRange: null + physicalLocations: + - + id: c52208b3-93bb-4255-9b34-52432acc4398 + name: 10.100.0.1 + type: UE + geoData: + location: + type: Point + coordinates: + - 7.412295 + - 43.728676 + path: + type: LineString + coordinates: + - + - 7.412295 + - 43.728676 + - + - 7.412273 + - 43.728664 + - + - 7.412281 + - 43.728645 + - + - 7.412294 + - 43.72861 + - + - 7.412353 + - 43.728577 + - + - 7.412433 + - 43.728584 + - + - 7.412494 + - 43.72862 + - + - 7.412491 + - 43.72867 + - + - 7.412466 + - 43.728714 + - + - 7.412627 + - 43.728798 + - + - 7.412708 + - 43.728863 + - + - 7.412821 + - 43.729042 + - + - 7.413009 + - 43.729298 + - + - 7.413331 + - 43.72953 + - + - 7.414082 + - 43.729942 + - + - 7.414709 + - 43.730297 + - + - 7.415187 + - 43.730553 + - + - 7.415568 + - 43.73077 + - + - 7.416118 + - 43.73108 + - + - 7.416652 + - 43.73135 + - + - 7.416979 + - 43.731503 + - + - 7.417131 + - 43.73154 + - + - 7.41718 + - 43.731457 + - + - 7.417308 + - 43.73144 + - + - 7.417392 + - 43.731476 + - + - 7.417432 + - 43.731533 + - + - 7.417426 + - 43.731598 + - + - 7.417365 + - 43.73165 + - + - 7.417268 + - 43.731663 + - + - 7.417177 + - 43.73164 + - + - 7.417037 + - 43.731712 + - + - 7.416912 + - 43.73183 + - + - 7.416855 + - 43.731888 + - + - 7.41681 + - 43.731964 + - + - 7.41681 + - 43.732018 + - + - 7.416761 + - 43.732048 + - + - 7.4167 + - 43.732037 + - + - 7.416646 + - 43.731995 + - + - 7.416437 + - 43.73177 + - + - 7.416278 + - 43.731544 + - + - 7.416238 + - 43.731464 + - + - 7.416225 + - 43.731384 + - + - 7.416228 + - 43.73122 + - + - 7.416206 + - 43.731102 + - + - 7.416128 + - 43.73104 + - + - 7.416005 + - 43.73094 + - + - 7.415892 + - 43.73085 + - + - 7.415442 + - 43.730564 + - + - 7.414985 + - 43.73029 + - + - 7.413749 + - 43.7296 + - + - 7.413719 + - 43.729523 + - + - 7.414267 + - 43.72908 + - + - 7.414825 + - 43.728683 + - + - 7.414983 + - 43.728634 + - + - 7.415184 + - 43.728607 + - + - 7.415248 + - 43.728603 + - + - 7.41531 + - 43.72861 + - + - 7.415366 + - 43.72868 + - + - 7.415329 + - 43.728752 + - + - 7.415332 + - 43.72882 + - + - 7.41538 + - 43.728905 + - + - 7.415645 + - 43.729088 + - + - 7.416165 + - 43.729477 + - + - 7.416268 + - 43.729515 + - + - 7.416372 + - 43.72958 + - + - 7.416673 + - 43.7298 + - + - 7.416808 + - 43.729828 + - + - 7.416867 + - 43.72982 + - + - 7.417084 + - 43.72983 + - + - 7.417418 + - 43.72988 + - + - 7.417764 + - 43.729916 + - + - 7.418454 + - 43.72999 + - + - 7.418545 + - 43.729046 + - + - 7.418624 + - 43.729004 + - + - 7.419099 + - 43.72902 + - + - 7.419173 + - 43.728962 + - + - 7.419217 + - 43.72858 + - + - 7.420207 + - 43.72863 + - + - 7.421203 + - 43.728664 + - + - 7.421265 + - 43.72848 + - + - 7.421318 + - 43.72833 + - + - 7.421387 + - 43.72821 + - + - 7.421448 + - 43.72811 + - + - 7.421565 + - 43.727966 + - + - 7.42162 + - 43.7279 + - + - 7.42168 + - 43.72785 + - + - 7.421951 + - 43.727634 + - + - 7.422287 + - 43.72743 + - + - 7.422104 + - 43.72733 + - + - 7.421898 + - 43.72723 + - + - 7.421297 + - 43.726948 + - + - 7.42101 + - 43.726795 + - + - 7.42075 + - 43.72662 + - + - 7.420669 + - 43.726624 + - + - 7.420599 + - 43.726635 + - + - 7.420543 + - 43.72666 + - + - 7.420205 + - 43.726803 + - + - 7.420039 + - 43.726883 + - + - 7.41995 + - 43.72704 + - + - 7.419926 + - 43.727287 + - + - 7.419913 + - 43.727413 + - + - 7.419859 + - 43.72752 + - + - 7.419728 + - 43.727615 + - + - 7.419527 + - 43.72767 + - + - 7.419304 + - 43.72768 + - + - 7.418912 + - 43.727684 + - + - 7.418875 + - 43.727726 + - + - 7.418805 + - 43.727734 + - + - 7.418751 + - 43.727886 + - + - 7.41866 + - 43.728058 + - + - 7.418553 + - 43.728134 + - + - 7.418459 + - 43.72819 + - + - 7.418341 + - 43.728245 + - + - 7.418135 + - 43.728283 + - + - 7.418035 + - 43.72831 + - + - 7.417955 + - 43.728355 + - + - 7.417933 + - 43.728546 + - + - 7.417923 + - 43.72878 + - + - 7.417864 + - 43.72901 + - + - 7.41777 + - 43.729256 + - + - 7.417654 + - 43.729446 + - + - 7.417483 + - 43.729645 + - + - 7.417416 + - 43.72971 + - + - 7.417233 + - 43.72983 + - + - 7.417139 + - 43.729893 + - + - 7.417102 + - 43.729935 + - + - 7.41707 + - 43.72999 + - + - 7.417072 + - 43.730053 + - + - 7.417314 + - 43.730247 + - + - 7.417579 + - 43.730446 + - + - 7.418376 + - 43.73103 + - + - 7.41858 + - 43.73113 + - + - 7.419038 + - 43.73124 + - + - 7.419392 + - 43.73131 + - + - 7.419736 + - 43.73141 + - + - 7.420988 + - 43.73178 + - + - 7.421616 + - 43.731987 + - + - 7.421924 + - 43.732105 + - + - 7.422169 + - 43.73223 + - + - 7.422276 + - 43.732334 + - + - 7.422316 + - 43.73246 + - + - 7.422297 + - 43.732597 + - + - 7.42222 + - 43.732723 + - + - 7.422096 + - 43.73284 + - + - 7.422002 + - 43.732975 + - + - 7.421962 + - 43.733047 + - + - 7.421949 + - 43.733135 + - + - 7.421696 + - 43.733627 + - + - 7.421522 + - 43.734016 + - + - 7.421377 + - 43.73445 + - + - 7.421289 + - 43.73488 + - + - 7.421232 + - 43.735355 + - + - 7.421211 + - 43.73588 + - + - 7.421291 + - 43.73624 + - + - 7.421447 + - 43.736584 + - + - 7.421576 + - 43.73678 + - + - 7.421629 + - 43.73683 + - + - 7.421755 + - 43.736908 + - + - 7.422032 + - 43.737015 + - + - 7.42237 + - 43.737045 + - + - 7.422756 + - 43.73709 + - + - 7.423142 + - 43.737164 + - + - 7.423915 + - 43.737328 + - + - 7.424164 + - 43.737377 + - + - 7.424414 + - 43.737408 + - + - 7.424918 + - 43.73745 + - + - 7.425942 + - 43.73778 + - + - 7.426543 + - 43.737877 + - + - 7.426795 + - 43.737984 + - + - 7.426946 + - 43.738132 + - + - 7.426972 + - 43.738243 + - + - 7.426924 + - 43.738384 + - + - 7.426747 + - 43.738514 + - + - 7.426495 + - 43.738655 + - + - 7.426119 + - 43.738857 + - + - 7.425932 + - 43.738956 + - + - 7.42583 + - 43.739017 + - + - 7.425776 + - 43.739098 + - + - 7.425771 + - 43.739197 + - + - 7.425814 + - 43.73932 + - + - 7.425771 + - 43.73942 + - + - 7.425685 + - 43.739525 + - + - 7.425154 + - 43.73971 + - + - 7.425562 + - 43.740387 + - + - 7.425765 + - 43.7407 + - + - 7.425883 + - 43.740875 + - + - 7.426023 + - 43.741028 + - + - 7.426329 + - 43.741234 + - + - 7.426538 + - 43.74138 + - + - 7.426736 + - 43.741535 + - + - 7.426822 + - 43.74154 + - + - 7.426908 + - 43.74159 + - + - 7.426895 + - 43.741665 + - + - 7.427034 + - 43.74174 + - + - 7.427466 + - 43.742035 + - + - 7.427699 + - 43.742188 + - + - 7.427799 + - 43.742268 + - + - 7.427908 + - 43.74236 + - + - 7.428187 + - 43.7429 + - + - 7.428544 + - 43.743557 + - + - 7.42892 + - 43.744236 + - + - 7.429225 + - 43.74491 + - + - 7.429504 + - 43.74551 + - + - 7.429751 + - 43.74569 + - + - 7.429939 + - 43.745804 + - + - 7.430121 + - 43.74594 + - + - 7.430202 + - 43.746082 + - + - 7.430239 + - 43.746162 + - + - 7.43062 + - 43.746452 + - + - 7.431017 + - 43.74667 + - + - 7.431371 + - 43.746925 + - + - 7.431682 + - 43.747177 + - + - 7.431763 + - 43.7473 + - + - 7.431763 + - 43.747467 + - + - 7.431731 + - 43.747578 + - + - 7.431822 + - 43.747734 + - + - 7.432031 + - 43.747807 + - + - 7.432246 + - 43.747856 + - + - 7.432525 + - 43.747852 + - + - 7.432809 + - 43.747955 + - + - 7.433152 + - 43.748158 + - + - 7.43341 + - 43.748363 + - + - 7.43401 + - 43.748726 + - + - 7.434322 + - 43.748905 + - + - 7.434671 + - 43.749058 + - + - 7.435019 + - 43.74907 + - + - 7.435373 + - 43.749073 + - + - 7.435818 + - 43.74906 + - + - 7.436028 + - 43.749104 + - + - 7.43621 + - 43.749184 + - + - 7.436376 + - 43.749287 + - + - 7.43651 + - 43.749416 + - + - 7.43709 + - 43.749954 + - + - 7.437347 + - 43.750195 + - + - 7.437589 + - 43.75045 + - + - 7.437841 + - 43.75071 + - + - 7.43812 + - 43.751137 + - + - 7.438431 + - 43.751614 + - + - 7.438881 + - 43.751606 + - + - 7.439327 + - 43.75162 + - + - 7.439826 + - 43.751553 + - + - 7.44004 + - 43.751488 + - + - 7.440137 + - 43.751392 + - + - 7.440062 + - 43.751163 + - + - 7.439842 + - 43.75103 + - + - 7.43952 + - 43.750824 + - + - 7.439203 + - 43.750637 + - + - 7.439219 + - 43.750423 + - + - 7.439364 + - 43.750286 + - + - 7.439616 + - 43.75027 + - + - 7.440062 + - 43.750523 + - + - 7.440443 + - 43.750797 + - + - 7.440115 + - 43.750893 + - + - 7.439836 + - 43.75065 + - + - 7.439289 + - 43.75024 + - + - 7.438694 + - 43.749947 + - + - 7.43732 + - 43.749363 + - + - 7.435936 + - 43.74877 + - + - 7.435287 + - 43.74844 + - + - 7.433453 + - 43.747387 + - + - 7.432712 + - 43.74694 + - + - 7.431956 + - 43.746502 + - + - 7.431586 + - 43.74628 + - + - 7.431216 + - 43.746056 + - + - 7.430974 + - 43.745815 + - + - 7.430792 + - 43.7456 + - + - 7.430679 + - 43.745537 + - + - 7.430668 + - 43.74546 + - + - 7.430674 + - 43.745377 + - + - 7.43069 + - 43.74523 + - + - 7.43062 + - 43.745117 + - + - 7.43041 + - 43.744785 + - + - 7.430306 + - 43.744625 + - + - 7.430225 + - 43.74446 + - + - 7.430192 + - 43.744396 + - + - 7.430144 + - 43.74434 + - + - 7.429972 + - 43.744175 + - + - 7.429881 + - 43.743988 + - + - 7.429728 + - 43.743587 + - + - 7.429689 + - 43.743484 + - + - 7.429671 + - 43.743435 + - + - 7.429656 + - 43.743385 + - + - 7.429612 + - 43.743202 + - + - 7.429592 + - 43.743034 + - + - 7.429584 + - 43.742874 + - + - 7.429596 + - 43.742657 + - + - 7.429612 + - 43.742485 + - + - 7.429639 + - 43.74218 + - + - 7.429783 + - 43.741016 + - + - 7.429848 + - 43.740414 + - + - 7.429872 + - 43.740257 + - + - 7.429858 + - 43.740124 + - + - 7.429791 + - 43.739834 + - + - 7.42971 + - 43.739548 + - + - 7.429573 + - 43.73925 + - + - 7.429385 + - 43.73896 + - + - 7.42915 + - 43.738686 + - + - 7.429027 + - 43.738552 + - + - 7.428953 + - 43.738483 + - + - 7.428917 + - 43.73845 + - + - 7.428875 + - 43.738422 + - + - 7.428521 + - 43.738182 + - + - 7.428061 + - 43.73796 + - + - 7.427626 + - 43.737766 + - + - 7.427324 + - 43.737656 + - + - 7.427005 + - 43.737576 + - + - 7.426667 + - 43.737507 + - + - 7.426342 + - 43.737473 + - + - 7.42602 + - 43.737442 + - + - 7.42571 + - 43.737434 + - + - 7.425395 + - 43.737434 + - + - 7.42384 + - 43.73755 + - + - 7.423571 + - 43.73761 + - + - 7.423247 + - 43.737644 + - + - 7.42289 + - 43.737667 + - + - 7.422737 + - 43.737656 + - + - 7.422659 + - 43.737644 + - + - 7.42259 + - 43.737625 + - + - 7.422582 + - 43.7376 + - + - 7.422584 + - 43.737576 + - + - 7.422598 + - 43.73753 + - + - 7.422646 + - 43.7375 + - + - 7.422814 + - 43.737434 + - + - 7.423523 + - 43.737408 + - + - 7.423972 + - 43.737442 + - + - 7.424034 + - 43.73743 + - + - 7.424064 + - 43.73741 + - + - 7.424055 + - 43.737385 + - + - 7.424038 + - 43.737366 + - + - 7.423644 + - 43.73728 + - + - 7.423225 + - 43.73719 + - + - 7.422795 + - 43.73711 + - + - 7.422332 + - 43.737053 + - + - 7.422099 + - 43.73703 + - + - 7.421981 + - 43.73701 + - + - 7.421785 + - 43.737007 + - + - 7.421583 + - 43.736977 + - + - 7.421478 + - 43.736946 + - + - 7.421381 + - 43.7369 + - + - 7.421202 + - 43.7368 + - + - 7.421065 + - 43.736702 + - + - 7.421003 + - 43.73664 + - + - 7.420967 + - 43.736614 + - + - 7.420598 + - 43.736317 + - + - 7.420181 + - 43.73597 + - + - 7.420098 + - 43.7359 + - + - 7.420028 + - 43.735836 + - + - 7.419874 + - 43.735687 + - + - 7.419729 + - 43.73555 + - + - 7.419451 + - 43.735283 + - + - 7.419311 + - 43.735146 + - + - 7.419177 + - 43.735004 + - + - 7.418924 + - 43.73472 + - + - 7.418668 + - 43.734436 + - + - 7.418515 + - 43.73424 + - + - 7.41849 + - 43.734142 + - + - 7.41851 + - 43.73403 + - + - 7.418537 + - 43.733932 + - + - 7.418588 + - 43.733727 + - + - 7.418687 + - 43.73334 + - + - 7.418813 + - 43.732906 + - + - 7.418915 + - 43.73265 + - + - 7.418904 + - 43.732555 + - + - 7.418859 + - 43.732525 + - + - 7.418795 + - 43.73252 + - + - 7.418462 + - 43.732613 + - + - 7.418294 + - 43.73266 + - + - 7.418215 + - 43.73269 + - + - 7.41814 + - 43.73272 + - + - 7.417854 + - 43.732807 + - + - 7.41764 + - 43.732853 + - + - 7.417487 + - 43.732895 + - + - 7.417425 + - 43.732925 + - + - 7.417377 + - 43.732986 + - + - 7.417373 + - 43.733036 + - + - 7.4174 + - 43.7331 + - + - 7.417593 + - 43.733456 + - + - 7.417621 + - 43.733547 + - + - 7.417609 + - 43.733665 + - + - 7.417566 + - 43.733784 + - + - 7.417477 + - 43.733948 + - + - 7.417422 + - 43.73416 + - + - 7.417394 + - 43.7342 + - + - 7.417331 + - 43.734238 + - + - 7.417137 + - 43.73429 + - + - 7.417091 + - 43.734406 + - + - 7.417072 + - 43.73461 + - + - 7.41707 + - 43.734833 + - + - 7.417106 + - 43.735027 + - + - 7.417174 + - 43.735165 + - + - 7.417213 + - 43.735237 + - + - 7.417265 + - 43.735313 + - + - 7.417349 + - 43.735413 + - + - 7.417468 + - 43.735542 + - + - 7.417709 + - 43.735783 + - + - 7.417825 + - 43.735874 + - + - 7.417894 + - 43.735916 + - + - 7.417971 + - 43.735947 + - + - 7.418423 + - 43.736076 + - + - 7.418604 + - 43.736122 + - + - 7.418683 + - 43.736156 + - + - 7.418759 + - 43.7362 + - + - 7.419186 + - 43.736515 + - + - 7.419429 + - 43.736725 + - + - 7.419634 + - 43.736874 + - + - 7.41982 + - 43.737015 + - + - 7.419993 + - 43.737167 + - + - 7.420052 + - 43.73722 + - + - 7.420099 + - 43.737286 + - + - 7.42013 + - 43.737335 + - + - 7.420121 + - 43.737442 + - + - 7.420076 + - 43.73754 + - + - 7.420024 + - 43.73758 + - + - 7.419942 + - 43.737614 + - + - 7.419759 + - 43.737682 + - + - 7.419337 + - 43.737827 + - + - 7.419228 + - 43.7379 + - + - 7.419127 + - 43.737995 + - + - 7.419092 + - 43.738087 + - + - 7.419126 + - 43.738163 + - + - 7.419173 + - 43.738186 + - + - 7.419261 + - 43.73819 + - + - 7.419348 + - 43.738174 + - + - 7.419405 + - 43.73811 + - + - 7.419454 + - 43.737915 + - + - 7.419511 + - 43.737743 + - + - 7.419544 + - 43.737705 + - + - 7.419611 + - 43.737644 + - + - 7.419867 + - 43.73755 + - + - 7.419964 + - 43.737514 + - + - 7.420028 + - 43.73747 + - + - 7.420036 + - 43.737423 + - + - 7.420034 + - 43.73738 + - + - 7.420013 + - 43.737335 + - + - 7.41998 + - 43.737293 + - + - 7.419899 + - 43.73722 + - + - 7.419673 + - 43.73708 + - + - 7.419535 + - 43.73704 + - + - 7.419489 + - 43.737026 + - + - 7.419434 + - 43.73703 + - + - 7.419327 + - 43.737045 + - + - 7.41915 + - 43.73712 + - + - 7.419123 + - 43.737137 + - + - 7.41913 + - 43.73716 + - + - 7.41912 + - 43.73719 + - + - 7.419033 + - 43.73725 + - + - 7.41893 + - 43.73732 + - + - 7.418659 + - 43.73749 + - + - 7.418499 + - 43.73756 + - + - 7.418411 + - 43.737583 + - + - 7.41831 + - 43.7376 + - + - 7.418235 + - 43.73759 + - + - 7.418163 + - 43.73757 + - + - 7.418037 + - 43.737507 + - + - 7.417955 + - 43.73744 + - + - 7.417869 + - 43.73738 + - + - 7.417664 + - 43.737312 + - + - 7.417506 + - 43.737274 + - + - 7.417401 + - 43.73726 + - + - 7.417366 + - 43.737236 + - + - 7.417346 + - 43.737206 + - + - 7.417345 + - 43.73717 + - + - 7.417311 + - 43.737103 + - + - 7.417304 + - 43.737064 + - + - 7.417295 + - 43.737045 + - + - 7.41729 + - 43.737022 + - + - 7.417276 + - 43.736973 + - + - 7.417247 + - 43.736935 + - + - 7.417186 + - 43.736893 + - + - 7.416992 + - 43.73685 + - + - 7.416886 + - 43.73682 + - + - 7.416842 + - 43.736797 + - + - 7.41681 + - 43.73677 + - + - 7.416771 + - 43.73672 + - + - 7.416749 + - 43.736668 + - + - 7.416704 + - 43.736313 + - + - 7.416675 + - 43.736084 + - + - 7.416665 + - 43.735966 + - + - 7.416665 + - 43.735855 + - + - 7.416615 + - 43.73581 + - + - 7.416623 + - 43.73574 + - + - 7.416591 + - 43.73564 + - + - 7.416561 + - 43.735546 + - + - 7.416504 + - 43.735416 + - + - 7.41637 + - 43.73514 + - + - 7.41632 + - 43.734993 + - + - 7.416289 + - 43.73486 + - + - 7.416272 + - 43.73474 + - + - 7.416262 + - 43.73462 + - + - 7.416245 + - 43.734394 + - + - 7.416225 + - 43.734295 + - + - 7.416201 + - 43.734203 + - + - 7.416174 + - 43.734142 + - + - 7.416138 + - 43.73409 + - + - 7.416054 + - 43.733955 + - + - 7.41599 + - 43.733894 + - + - 7.415801 + - 43.733715 + - + - 7.415393 + - 43.733383 + - + - 7.415356 + - 43.733337 + - + - 7.415299 + - 43.73332 + - + - 7.415204 + - 43.733276 + - + - 7.41514 + - 43.73322 + - + - 7.415098 + - 43.733154 + - + - 7.415077 + - 43.733097 + - + - 7.414878 + - 43.732937 + - + - 7.414619 + - 43.73273 + - + - 7.414414 + - 43.73253 + - + - 7.414343 + - 43.73237 + - + - 7.4143 + - 43.73213 + - + - 7.414363 + - 43.731937 + - + - 7.414526 + - 43.731796 + - + - 7.414589 + - 43.73177 + - + - 7.414902 + - 43.73153 + - + - 7.415022 + - 43.73144 + - + - 7.415058 + - 43.73137 + - + - 7.415065 + - 43.731266 + - + - 7.415031 + - 43.731213 + - + - 7.414972 + - 43.73117 + - + - 7.414802 + - 43.731125 + - + - 7.414583 + - 43.7311 + - + - 7.414045 + - 43.731014 + - + - 7.413182 + - 43.730873 + - + - 7.413132 + - 43.730865 + - + - 7.413081 + - 43.730846 + - + - 7.412977 + - 43.73082 + - + - 7.412864 + - 43.73075 + - + - 7.412629 + - 43.730595 + - + - 7.41271 + - 43.730377 + - + - 7.412778 + - 43.72999 + - + - 7.412793 + - 43.729607 + - + - 7.412826 + - 43.72954 + - + - 7.412839 + - 43.72948 + - + - 7.412739 + - 43.729347 + - + - 7.412632 + - 43.729225 + - + - 7.412401 + - 43.728916 + - + - 7.412397 + - 43.72874 + - + - 7.412365 + - 43.728737 + - + - 7.412332 + - 43.72873 + - + - 7.412307 + - 43.72871 + - + - 7.412295 + - 43.728676 + eopMode: LOOP + velocity: 20 + radius: null + d2dInRange: null + poaInRange: null + wireless: true + wirelessType: 'wifi,5g,4g' + meta: + display.map.icon: ion-android-car + netChar: + latencyDistribution: Normal + throughputDl: 1000 + throughputUl: 1000 + latency: null + latencyVariation: null + throughput: null + packetLoss: null + macId: 005C0A640001 + isExternal: null + networkLocationsInRange: null + connected: null + dataNetwork: null + userMeta: null + processes: null + linkLatency: null + linkLatencyVariation: null + linkThroughput: null + linkPacketLoss: null + terminalLinkLatency: null + terminalLinkLatencyVariation: null + terminalLinkThroughput: null + terminalLinkPacketLoss: null + meta: null + userMeta: null + cellularPoaConfig: null + poa5GConfig: null + poaWifiConfig: null + - + id: f32f0c05-4491-4a93-be0c-19420d4407f0 + name: 4g-macro-cell-3 + type: POA-4G + netChar: + latency: 10 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + poa4GConfig: + cellId: '3030303' + geoData: + location: + type: Point + coordinates: + - 7.416715 + - 43.733616 + radius: 400 + path: null + eopMode: null + velocity: null + d2dInRange: null + poaInRange: null + physicalLocations: + - + id: 0ca4bfcc-7346-4f57-9c85-bb92642ec37e + name: 10.1.0.2 + type: UE + geoData: + location: + type: Point + coordinates: + - 7.4187 + - 43.732403 + radius: null + path: null + eopMode: null + velocity: null + d2dInRange: null + poaInRange: null + wireless: true + wirelessType: 'wifi,5g,4g' + meta: + display.map.icon: ion-ios-videocam + netChar: + latencyDistribution: Normal + throughputDl: 1000 + throughputUl: 1000 + latency: null + latencyVariation: null + throughput: null + packetLoss: null + macId: 005C0A010002 + isExternal: null + networkLocationsInRange: null + connected: null + dataNetwork: null + userMeta: null + processes: null + linkLatency: null + linkLatencyVariation: null + linkThroughput: null + linkPacketLoss: null + terminalLinkLatency: null + terminalLinkLatencyVariation: null + terminalLinkThroughput: null + terminalLinkPacketLoss: null + meta: null + userMeta: null + cellularPoaConfig: null + poa5GConfig: null + poaWifiConfig: null + - + id: 37be6821-a5f3-4af9-af0a-ceff4c0f66be + name: 5g-small-cell-1 + type: POA-5G + netChar: + latency: 4 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + poa5GConfig: + cellId: '101010101' + geoData: + location: + type: Point + coordinates: + - 7.415385 + - 43.730846 + radius: 100 + path: null + eopMode: null + velocity: null + d2dInRange: null + poaInRange: null + terminalLinkLatency: null + terminalLinkLatencyVariation: null + terminalLinkThroughput: null + terminalLinkPacketLoss: null + meta: null + userMeta: null + cellularPoaConfig: null + poa4GConfig: null + poaWifiConfig: null + physicalLocations: null + - + id: ab60918a-acd8-4f4e-9693-d2fbffae9b72 + name: 5g-small-cell-2 + type: POA-5G + netChar: + latency: 4 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + poa5GConfig: + cellId: '202020202' + geoData: + location: + type: Point + coordinates: + - 7.416962 + - 43.731453 + radius: 100 + path: null + eopMode: null + velocity: null + d2dInRange: null + poaInRange: null + terminalLinkLatency: null + terminalLinkLatencyVariation: null + terminalLinkThroughput: null + terminalLinkPacketLoss: null + meta: null + userMeta: null + cellularPoaConfig: null + poa4GConfig: null + poaWifiConfig: null + physicalLocations: null + - + id: de2d952d-11b1-4294-8a67-6d994f1a5f37 + name: 5g-small-cell-3 + type: POA-5G + netChar: + latency: 4 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + poa5GConfig: + cellId: '303030303' + geoData: + location: + type: Point + coordinates: + - 7.417023 + - 43.733227 + radius: 100 + path: null + eopMode: null + velocity: null + d2dInRange: null + poaInRange: null + terminalLinkLatency: null + terminalLinkLatencyVariation: null + terminalLinkThroughput: null + terminalLinkPacketLoss: null + meta: null + userMeta: null + cellularPoaConfig: null + poa4GConfig: null + poaWifiConfig: null + physicalLocations: null + - + id: 9bd631b3-44f5-4f92-ad1a-d50c9c3e869d + name: 5g-small-cell-4 + type: POA-5G + netChar: + latency: 4 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + poa5GConfig: + cellId: '04040404' + geoData: + location: + type: Point + coordinates: + - 7.417173 + - 43.72764 + radius: 100 + path: null + eopMode: null + velocity: null + d2dInRange: null + poaInRange: null + terminalLinkLatency: null + terminalLinkLatencyVariation: null + terminalLinkThroughput: null + terminalLinkPacketLoss: null + meta: null + userMeta: null + cellularPoaConfig: null + poa4GConfig: null + poaWifiConfig: null + physicalLocations: null + interFogLatency: null + interFogLatencyVariation: null + interFogThroughput: null + interFogPacketLoss: null + interEdgeLatency: null + interEdgeLatencyVariation: null + interEdgeThroughput: null + interEdgePacketLoss: null + edgeFogLatency: null + edgeFogLatencyVariation: null + edgeFogThroughput: null + edgeFogPacketLoss: null + userMeta: null + - + id: 4c3c9568-6408-4900-9d97-4556f6d805db + name: zone02 + type: ZONE + netChar: + latency: 5 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + meta: + display.map.color: darkred + networkLocations: + - + id: zone02-DEFAULT + name: zone02-DEFAULT + type: DEFAULT + netChar: + latency: 1 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + terminalLinkLatency: null + terminalLinkLatencyVariation: null + terminalLinkThroughput: null + terminalLinkPacketLoss: null + meta: null + userMeta: null + cellularPoaConfig: null + poa4GConfig: null + poa5GConfig: null + poaWifiConfig: null + geoData: null + physicalLocations: null + - + id: 78327873-c828-47da-8a5b-3c74d251dbbc + name: 4g-macro-cell-4 + type: POA-4G + netChar: + latency: 10 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + poa4GConfig: + cellId: '4040404' + geoData: + location: + type: Point + coordinates: + - 7.423547 + - 43.731724 + radius: 400 + path: null + eopMode: null + velocity: null + d2dInRange: null + poaInRange: null + physicalLocations: + - + id: 67a40b8b-5777-4e96-a896-8622af4a741f + name: 10.100.0.3 + type: UE + geoData: + location: + type: Point + coordinates: + - 7.427423 + - 43.731323 + path: + type: LineString + coordinates: + - + - 7.427423 + - 43.731323 + - + - 7.427463 + - 43.73143 + - + - 7.427455 + - 43.731537 + - + - 7.427423 + - 43.731598 + - + - 7.427439 + - 43.731667 + - + - 7.427479 + - 43.731766 + - + - 7.427951 + - 43.73259 + - + - 7.427989 + - 43.732677 + - + - 7.427962 + - 43.73281 + - + - 7.427852 + - 43.732925 + - + - 7.427655 + - 43.732994 + - + - 7.427556 + - 43.733 + - + - 7.425453 + - 43.73256 + - + - 7.42436 + - 43.7323 + - + - 7.424033 + - 43.732254 + - + - 7.423397 + - 43.73226 + - + - 7.422675 + - 43.73218 + - + - 7.422588 + - 43.7322 + - + - 7.42249 + - 43.732243 + - + - 7.422382 + - 43.732323 + - + - 7.422415 + - 43.73246 + - + - 7.422351 + - 43.73269 + - + - 7.422257 + - 43.73279 + - + - 7.4221 + - 43.73293 + - + - 7.421912 + - 43.733208 + - + - 7.421604 + - 43.733833 + - + - 7.421522 + - 43.734016 + - + - 7.421377 + - 43.73445 + - + - 7.421289 + - 43.73488 + - + - 7.421232 + - 43.735355 + - + - 7.421211 + - 43.73588 + - + - 7.421291 + - 43.73624 + - + - 7.421447 + - 43.736584 + - + - 7.421576 + - 43.73678 + - + - 7.4216 + - 43.7368 + - + - 7.421723 + - 43.73684 + - + - 7.424054 + - 43.73709 + - + - 7.424611 + - 43.737144 + - + - 7.424942 + - 43.73719 + - + - 7.425462 + - 43.737217 + - + - 7.426063 + - 43.737286 + - + - 7.426653 + - 43.737366 + - + - 7.427215 + - 43.73749 + - + - 7.427498 + - 43.737583 + - + - 7.427762 + - 43.73765 + - + - 7.42799 + - 43.737732 + - + - 7.428867 + - 43.738125 + - + - 7.429136 + - 43.73831 + - + - 7.429626 + - 43.738724 + - + - 7.429853 + - 43.73897 + - + - 7.430023 + - 43.739243 + - + - 7.430125 + - 43.7395 + - + - 7.430301 + - 43.740196 + - + - 7.430422 + - 43.741196 + - + - 7.430411 + - 43.741318 + - + - 7.430493 + - 43.741344 + - + - 7.430568 + - 43.741417 + - + - 7.430773 + - 43.74177 + eopMode: REVERSE + velocity: 20 + radius: null + d2dInRange: null + poaInRange: null + wireless: true + wirelessType: 'wifi,5g,4g' + meta: + display.map.icon: ion-android-car + netChar: + latencyDistribution: Normal + throughputDl: 1000 + throughputUl: 1000 + latency: null + latencyVariation: null + throughput: null + packetLoss: null + macId: 005C0A640003 + isExternal: null + networkLocationsInRange: null + connected: null + dataNetwork: null + userMeta: null + processes: null + linkLatency: null + linkLatencyVariation: null + linkThroughput: null + linkPacketLoss: null + terminalLinkLatency: null + terminalLinkLatencyVariation: null + terminalLinkThroughput: null + terminalLinkPacketLoss: null + meta: null + userMeta: null + cellularPoaConfig: null + poa5GConfig: null + poaWifiConfig: null + - + id: ca3b5b42-0e99-4553-9d19-4696cd8fe469 + name: 4g-macro-cell-5 + type: POA-4G + netChar: + latency: 10 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + poa4GConfig: + cellId: '5050505' + geoData: + location: + type: Point + coordinates: + - 7.429257 + - 43.73411 + radius: 400 + path: null + eopMode: null + velocity: null + d2dInRange: null + poaInRange: null + physicalLocations: + - + id: c18e3f93-79c4-427d-af91-81996adab3e7 + name: 10.1.0.3 + type: UE + geoData: + location: + type: Point + coordinates: + - 7.426565 + - 43.73298 + radius: null + path: null + eopMode: null + velocity: null + d2dInRange: null + poaInRange: null + wireless: true + wirelessType: 'wifi,5g,4g' + meta: + display.map.icon: ion-ios-videocam + netChar: + latencyDistribution: Normal + throughputDl: 1000 + throughputUl: 1000 + latency: null + latencyVariation: null + throughput: null + packetLoss: null + macId: 005C0A010003 + isExternal: null + networkLocationsInRange: null + connected: null + dataNetwork: null + userMeta: null + processes: null + linkLatency: null + linkLatencyVariation: null + linkThroughput: null + linkPacketLoss: null + - + id: 1d2683f4-086e-47d6-abbb-07fa481a25fb + name: 10.10.0.1 + type: UE + geoData: + location: + type: Point + coordinates: + - 7.43166 + - 43.736156 + path: + type: LineString + coordinates: + - + - 7.43166 + - 43.736156 + - + - 7.431723 + - 43.736115 + - + - 7.431162 + - 43.735607 + - + - 7.430685 + - 43.73518 + - + - 7.43043 + - 43.73532 + - + - 7.429067 + - 43.734108 + - + - 7.428863 + - 43.734184 + - + - 7.428388 + - 43.734116 + - + - 7.427817 + - 43.73446 + - + - 7.427689 + - 43.734917 + - + - 7.427581 + - 43.73499 + - + - 7.427308 + - 43.734955 + - + - 7.42723 + - 43.734844 + - + - 7.427281 + - 43.734646 + - + - 7.427411 + - 43.734657 + - + - 7.427709 + - 43.73362 + - + - 7.424581 + - 43.732964 + - + - 7.424312 + - 43.73363 + - + - 7.424512 + - 43.73368 + - + - 7.424534 + - 43.733707 + - + - 7.424534 + - 43.73373 + - + - 7.424477 + - 43.733753 + - + - 7.42423 + - 43.73371 + - + - 7.424029 + - 43.733665 + - + - 7.423999 + - 43.733624 + - + - 7.424058 + - 43.73358 + - + - 7.424246 + - 43.733624 + - + - 7.424522 + - 43.732952 + - + - 7.423748 + - 43.73279 + - + - 7.423545 + - 43.733307 + - + - 7.423508 + - 43.7333 + - + - 7.423535 + - 43.73324 + - + - 7.423668 + - 43.732857 + - + - 7.423455 + - 43.73282 + - + - 7.423356 + - 43.73307 + - + - 7.423199 + - 43.733135 + - + - 7.423043 + - 43.73321 + - + - 7.422855 + - 43.73337 + - + - 7.422744 + - 43.733517 + - + - 7.422694 + - 43.733624 + - + - 7.422659 + - 43.73374 + - + - 7.422578 + - 43.734074 + - + - 7.422604 + - 43.734188 + - + - 7.422541 + - 43.734425 + - + - 7.422509 + - 43.73456 + - + - 7.422697 + - 43.73458 + - + - 7.422847 + - 43.734077 + - + - 7.422881 + - 43.73408 + - + - 7.422756 + - 43.73459 + - + - 7.423254 + - 43.73466 + - + - 7.423413 + - 43.73412 + - + - 7.423512 + - 43.73413 + - + - 7.423351 + - 43.734753 + - + - 7.42326 + - 43.73506 + - + - 7.423223 + - 43.73522 + - + - 7.423173 + - 43.735416 + - + - 7.423072 + - 43.7354 + - + - 7.4232 + - 43.734898 + - + - 7.423191 + - 43.734848 + - + - 7.422693 + - 43.734776 + - + - 7.42256 + - 43.7353 + - + - 7.422513 + - 43.73529 + - + - 7.422655 + - 43.734776 + - + - 7.422423 + - 43.734737 + - + - 7.422299 + - 43.735203 + - + - 7.422233 + - 43.735435 + - + - 7.42215 + - 43.735508 + - + - 7.422032 + - 43.735546 + - + - 7.421888 + - 43.735535 + - + - 7.421866 + - 43.735683 + - + - 7.421872 + - 43.735928 + - + - 7.421975 + - 43.736275 + - + - 7.422107 + - 43.73651 + - + - 7.422269 + - 43.73673 + - + - 7.42493 + - 43.737007 + - + - 7.425109 + - 43.73692 + - + - 7.425631 + - 43.736973 + - + - 7.425674 + - 43.736706 + - + - 7.425721 + - 43.736477 + - + - 7.425736 + - 43.736366 + - + - 7.425787 + - 43.736378 + - + - 7.425655 + - 43.737087 + - + - 7.426748 + - 43.73719 + - + - 7.426931 + - 43.736523 + - + - 7.427054 + - 43.736073 + - + - 7.427052 + - 43.73606 + - + - 7.427027 + - 43.736053 + - + - 7.426908 + - 43.73604 + - + - 7.426963 + - 43.73584 + - + - 7.427089 + - 43.73575 + - + - 7.427368 + - 43.735783 + - + - 7.427427 + - 43.735886 + - + - 7.427096 + - 43.737133 + - + - 7.429107 + - 43.73754 + - + - 7.429795 + - 43.736343 + eopMode: REVERSE + velocity: 9 + radius: null + d2dInRange: null + poaInRange: null + wireless: true + wirelessType: 'wifi,5g,4g' + meta: + display.map.icon: ion-android-walk + netChar: + latencyDistribution: Normal + throughputDl: 1000 + throughputUl: 1000 + latency: null + latencyVariation: null + throughput: null + packetLoss: null + macId: 005C0A0A0001 + isExternal: null + networkLocationsInRange: null + connected: null + dataNetwork: null + userMeta: null + processes: null + linkLatency: null + linkLatencyVariation: null + linkThroughput: null + linkPacketLoss: null + - + id: ec32caa6-ddc6-4f5e-a815-654782b31abb + name: 10.100.0.2 + type: UE + geoData: + location: + type: Point + coordinates: + - 7.427394 + - 43.73243 + path: + type: LineString + coordinates: + - + - 7.427394 + - 43.73243 + - + - 7.427393 + - 43.732353 + - + - 7.427373 + - 43.732296 + - + - 7.427259 + - 43.73213 + - + - 7.427153 + - 43.73204 + - + - 7.42705 + - 43.73197 + - + - 7.426688 + - 43.73188 + - + - 7.426318 + - 43.731792 + - + - 7.425634 + - 43.731598 + - + - 7.425535 + - 43.731598 + - + - 7.425433 + - 43.73161 + - + - 7.425336 + - 43.73161 + - + - 7.425151 + - 43.731556 + - + - 7.424628 + - 43.73141 + - + - 7.424135 + - 43.731285 + - + - 7.423933 + - 43.73179 + - + - 7.423861 + - 43.731827 + - + - 7.423566 + - 43.73177 + - + - 7.423389 + - 43.731663 + - + - 7.423225 + - 43.73154 + - + - 7.422997 + - 43.731396 + - + - 7.422858 + - 43.731335 + - + - 7.422794 + - 43.731304 + - + - 7.422718 + - 43.731285 + - + - 7.422579 + - 43.731262 + - + - 7.422418 + - 43.731255 + - + - 7.422195 + - 43.731262 + - + - 7.421973 + - 43.731285 + - + - 7.421833 + - 43.731297 + - + - 7.421705 + - 43.73133 + - + - 7.421624 + - 43.731327 + - + - 7.421565 + - 43.731323 + - + - 7.421501 + - 43.731297 + - + - 7.421483 + - 43.731228 + - + - 7.421468 + - 43.73116 + - + - 7.421443 + - 43.73103 + - + - 7.421409 + - 43.73089 + - + - 7.421372 + - 43.73075 + - + - 7.421435 + - 43.730694 + - + - 7.421506 + - 43.730682 + - + - 7.421731 + - 43.73061 + - + - 7.421821 + - 43.73055 + - + - 7.421992 + - 43.730377 + - + - 7.42217 + - 43.730206 + - + - 7.422477 + - 43.729942 + - + - 7.422555 + - 43.729897 + - + - 7.422657 + - 43.729866 + - + - 7.422801 + - 43.729847 + - + - 7.422969 + - 43.729862 + - + - 7.423137 + - 43.72991 + - + - 7.423295 + - 43.72997 + - + - 7.423507 + - 43.73005 + - + - 7.423712 + - 43.730137 + - + - 7.42411 + - 43.73032 + - + - 7.424566 + - 43.730526 + - + - 7.424802 + - 43.730633 + - + - 7.42501 + - 43.730743 + - + - 7.425791 + - 43.731174 + - + - 7.426482 + - 43.73159 + - + - 7.426963 + - 43.731895 + - + - 7.427077 + - 43.731968 + - + - 7.427186 + - 43.732048 + - + - 7.42729 + - 43.73213 + - + - 7.427362 + - 43.732227 + - + - 7.427418 + - 43.732353 + - + - 7.427415 + - 43.732384 + - + - 7.427411 + - 43.732407 + - + - 7.427394 + - 43.73243 + - + - 7.427383 + - 43.732483 + - + - 7.427288 + - 43.732548 + - + - 7.427203 + - 43.73256 + - + - 7.427085 + - 43.732555 + - + - 7.426884 + - 43.732517 + - + - 7.425842 + - 43.73234 + - + - 7.424798 + - 43.732162 + - + - 7.424667 + - 43.73214 + - + - 7.42444 + - 43.7321 + - + - 7.424072 + - 43.732044 + - + - 7.423361 + - 43.731934 + - + - 7.423054 + - 43.7319 + - + - 7.42274 + - 43.731876 + - + - 7.422414 + - 43.73187 + - + - 7.422089 + - 43.731876 + - + - 7.421887 + - 43.731884 + - + - 7.421699 + - 43.731895 + - + - 7.421429 + - 43.731926 + - + - 7.421102 + - 43.73198 + - + - 7.420582 + - 43.732067 + - + - 7.420058 + - 43.732174 + - + - 7.419941 + - 43.7322 + - + - 7.419804 + - 43.732254 + - + - 7.419237 + - 43.732403 + - + - 7.419181 + - 43.732418 + - + - 7.419127 + - 43.73245 + - + - 7.419071 + - 43.73248 + - + - 7.419063 + - 43.732513 + - + - 7.419017 + - 43.732548 + - + - 7.418957 + - 43.73256 + - + - 7.418904 + - 43.732555 + - + - 7.418859 + - 43.732525 + - + - 7.418795 + - 43.73252 + - + - 7.418733 + - 43.732536 + - + - 7.418541 + - 43.73259 + - + - 7.418358 + - 43.732643 + - + - 7.418179 + - 43.732704 + - + - 7.417854 + - 43.732807 + - + - 7.417669 + - 43.732845 + - + - 7.417487 + - 43.732895 + - + - 7.417425 + - 43.732925 + - + - 7.417405 + - 43.73295 + - + - 7.417605 + - 43.73323 + - + - 7.417778 + - 43.733547 + - + - 7.417915 + - 43.733955 + - + - 7.41809 + - 43.734455 + - + - 7.418133 + - 43.734684 + - + - 7.418188 + - 43.7349 + - + - 7.418289 + - 43.735046 + - + - 7.4184 + - 43.735184 + - + - 7.418585 + - 43.735382 + - + - 7.418671 + - 43.735455 + - + - 7.418768 + - 43.73552 + - + - 7.419179 + - 43.735825 + - + - 7.419366 + - 43.73598 + - + - 7.419533 + - 43.73615 + - + - 7.419881 + - 43.736473 + - + - 7.420241 + - 43.736786 + - + - 7.420468 + - 43.73692 + - + - 7.420685 + - 43.73703 + - + - 7.420944 + - 43.73716 + - + - 7.421228 + - 43.737274 + - + - 7.421522 + - 43.737373 + - + - 7.421826 + - 43.73747 + - + - 7.422055 + - 43.73752 + - + - 7.422283 + - 43.73756 + - + - 7.422403 + - 43.73758 + - + - 7.422472 + - 43.737526 + - + - 7.422561 + - 43.737473 + - + - 7.422688 + - 43.737442 + - + - 7.422814 + - 43.737434 + - + - 7.423132 + - 43.737423 + - + - 7.423523 + - 43.737408 + - + - 7.423972 + - 43.737442 + - + - 7.424034 + - 43.73743 + - + - 7.424064 + - 43.73741 + - + - 7.424055 + - 43.737385 + - + - 7.424028 + - 43.73735 + - + - 7.423706 + - 43.737286 + - + - 7.423228 + - 43.737183 + - + - 7.422826 + - 43.737103 + - + - 7.42263 + - 43.737076 + - + - 7.422426 + - 43.737053 + - + - 7.42209 + - 43.73702 + - + - 7.421949 + - 43.73701 + - + - 7.421754 + - 43.737003 + - + - 7.421639 + - 43.736984 + - + - 7.421527 + - 43.73696 + - + - 7.421421 + - 43.73692 + - + - 7.421323 + - 43.73687 + - + - 7.421228 + - 43.736813 + - + - 7.421133 + - 43.73675 + - + - 7.421065 + - 43.736702 + - + - 7.421003 + - 43.73664 + - + - 7.420847 + - 43.73652 + - + - 7.420513 + - 43.736244 + - + - 7.420098 + - 43.7359 + - + - 7.419858 + - 43.735672 + - + - 7.41939 + - 43.73522 + - + - 7.41916 + - 43.734985 + - + - 7.418728 + - 43.734505 + - + - 7.418581 + - 43.734325 + - + - 7.418515 + - 43.73424 + - + - 7.41849 + - 43.734142 + - + - 7.418601 + - 43.733677 + - + - 7.418681 + - 43.73336 + - + - 7.418772 + - 43.733047 + - + - 7.418813 + - 43.732906 + - + - 7.418878 + - 43.732742 + - + - 7.418915 + - 43.73265 + - + - 7.41891 + - 43.732605 + - + - 7.418904 + - 43.732555 + - + - 7.418859 + - 43.732525 + - + - 7.418849 + - 43.73247 + - + - 7.418872 + - 43.732426 + - + - 7.418902 + - 43.73241 + - + - 7.418951 + - 43.732403 + - + - 7.419008 + - 43.732403 + - + - 7.419118 + - 43.73241 + - + - 7.419225 + - 43.73239 + - + - 7.4198 + - 43.73224 + - + - 7.419934 + - 43.732185 + - + - 7.420066 + - 43.73216 + - + - 7.420587 + - 43.73205 + - + - 7.421116 + - 43.73196 + - + - 7.421403 + - 43.73192 + - + - 7.421688 + - 43.731884 + - + - 7.422084 + - 43.73186 + - + - 7.422473 + - 43.731853 + - + - 7.422827 + - 43.73187 + - + - 7.42319 + - 43.731903 + - + - 7.423363 + - 43.731922 + - + - 7.423535 + - 43.73195 + - + - 7.423881 + - 43.732002 + - + - 7.425014 + - 43.73219 + - + - 7.425588 + - 43.73229 + - + - 7.426168 + - 43.732388 + - + - 7.426901 + - 43.732506 + - + - 7.427068 + - 43.732536 + - + - 7.427147 + - 43.732548 + - + - 7.427227 + - 43.732548 + - + - 7.427279 + - 43.732533 + - + - 7.427352 + - 43.73249 + - + - 7.427394 + - 43.73243 + eopMode: LOOP + velocity: 20 + radius: null + d2dInRange: null + poaInRange: null + wireless: true + wirelessType: 'wifi,5g,4g' + meta: + display.map.icon: ion-android-car + netChar: + latencyDistribution: Normal + throughputDl: 1000 + throughputUl: 1000 + latency: null + latencyVariation: null + throughput: null + packetLoss: null + macId: 005C0A640002 + isExternal: null + networkLocationsInRange: null + connected: null + dataNetwork: null + userMeta: null + processes: null + linkLatency: null + linkLatencyVariation: null + linkThroughput: null + linkPacketLoss: null + terminalLinkLatency: null + terminalLinkLatencyVariation: null + terminalLinkThroughput: null + terminalLinkPacketLoss: null + meta: null + userMeta: null + cellularPoaConfig: null + poa5GConfig: null + poaWifiConfig: null + - + id: bddd61c9-6ddd-4f7e-9082-0d004fced7ab + name: 5g-small-cell-5 + type: POA-5G + netChar: + latency: 4 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + poa5GConfig: + cellId: '505050505' + geoData: + location: + type: Point + coordinates: + - 7.420653 + - 43.731743 + radius: 100 + path: null + eopMode: null + velocity: null + d2dInRange: null + poaInRange: null + terminalLinkLatency: null + terminalLinkLatencyVariation: null + terminalLinkThroughput: null + terminalLinkPacketLoss: null + meta: null + userMeta: null + cellularPoaConfig: null + poa4GConfig: null + poaWifiConfig: null + physicalLocations: null + - + id: 8e0dad0d-72c9-4b6d-850b-06b02243b1d3 + name: 5g-small-cell-6 + type: POA-5G + netChar: + latency: 4 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + poa5GConfig: + cellId: '606060606' + geoData: + location: + type: Point + coordinates: + - 7.421865 + - 43.733368 + radius: 100 + path: null + eopMode: null + velocity: null + d2dInRange: null + poaInRange: null + terminalLinkLatency: null + terminalLinkLatencyVariation: null + terminalLinkThroughput: null + terminalLinkPacketLoss: null + meta: null + userMeta: null + cellularPoaConfig: null + poa4GConfig: null + poaWifiConfig: null + physicalLocations: null + - + id: 7d3688cc-0dda-48b1-a171-b817c176e053 + name: 5g-small-cell-7 + type: POA-5G + netChar: + latency: 4 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + poa5GConfig: + cellId: '808080808' + geoData: + location: + type: Point + coordinates: + - 7.42509 + - 43.73189 + radius: 100 + path: null + eopMode: null + velocity: null + d2dInRange: null + poaInRange: null + terminalLinkLatency: null + terminalLinkLatencyVariation: null + terminalLinkThroughput: null + terminalLinkPacketLoss: null + meta: null + userMeta: null + cellularPoaConfig: null + poa4GConfig: null + poaWifiConfig: null + physicalLocations: null + - + id: 91691048-64bb-4d2f-917f-4219a95881c0 + name: 5g-small-cell-8 + type: POA-5G + netChar: + latency: 4 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + poa5GConfig: + cellId: '909090909' + geoData: + location: + type: Point + coordinates: + - 7.42704 + - 43.732407 + radius: 100 + path: null + eopMode: null + velocity: null + d2dInRange: null + poaInRange: null + terminalLinkLatency: null + terminalLinkLatencyVariation: null + terminalLinkThroughput: null + terminalLinkPacketLoss: null + meta: null + userMeta: null + cellularPoaConfig: null + poa4GConfig: null + poaWifiConfig: null + physicalLocations: null + interFogLatency: null + interFogLatencyVariation: null + interFogThroughput: null + interFogPacketLoss: null + interEdgeLatency: null + interEdgeLatencyVariation: null + interEdgeThroughput: null + interEdgePacketLoss: null + edgeFogLatency: null + edgeFogLatencyVariation: null + edgeFogThroughput: null + edgeFogPacketLoss: null + userMeta: null + - + id: 472c9927-800a-46e9-9d62-d08b09080dd5 + name: zone03 + type: ZONE + netChar: + latency: 5 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + meta: + display.map.color: darkorange + networkLocations: + - + id: zone03-DEFAULT + name: zone03-DEFAULT + type: DEFAULT + netChar: + latency: 1 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + terminalLinkLatency: null + terminalLinkLatencyVariation: null + terminalLinkThroughput: null + terminalLinkPacketLoss: null + meta: null + userMeta: null + cellularPoaConfig: null + poa4GConfig: null + poa5GConfig: null + poaWifiConfig: null + geoData: null + physicalLocations: null + - + id: e4ce8267-5433-4b2b-aa5a-9a40de76b685 + name: 4g-macro-cell-6 + type: POA-4G + netChar: + latency: 10 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + poa4GConfig: + cellId: '6060606' + geoData: + location: + type: Point + coordinates: + - 7.421007 + - 43.737087 + radius: 400 + path: null + eopMode: null + velocity: null + d2dInRange: null + poaInRange: null + physicalLocations: + - + id: c3bc8d8d-170b-45bb-93a9-8ce658571321 + name: 10.1.0.1 + type: UE + geoData: + location: + type: Point + coordinates: + - 7.421802 + - 43.736515 + radius: null + path: null + eopMode: null + velocity: null + d2dInRange: null + poaInRange: null + wireless: true + wirelessType: 'wifi,5g,4g' + meta: + display.map.icon: ion-ios-videocam + netChar: + latencyDistribution: Normal + throughputDl: 1000 + throughputUl: 1000 + latency: null + latencyVariation: null + throughput: null + packetLoss: null + macId: 005C0A010001 + isExternal: null + networkLocationsInRange: null + connected: null + dataNetwork: null + userMeta: null + processes: null + linkLatency: null + linkLatencyVariation: null + linkThroughput: null + linkPacketLoss: null + terminalLinkLatency: null + terminalLinkLatencyVariation: null + terminalLinkThroughput: null + terminalLinkPacketLoss: null + meta: null + userMeta: null + cellularPoaConfig: null + poa5GConfig: null + poaWifiConfig: null + - + id: 663df9f0-57af-43aa-ba2e-e45a4b2f3c28 + name: 4g-macro-cell-7 + type: POA-4G + netChar: + latency: 10 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + poa4GConfig: + cellId: '7070707' + geoData: + location: + type: Point + coordinates: + - 7.425841 + - 43.739426 + radius: 400 + path: null + eopMode: null + velocity: null + d2dInRange: null + poaInRange: null + terminalLinkLatency: null + terminalLinkLatencyVariation: null + terminalLinkThroughput: null + terminalLinkPacketLoss: null + meta: null + userMeta: null + cellularPoaConfig: null + poa5GConfig: null + poaWifiConfig: null + physicalLocations: null + - + id: a3067167-cdaf-4264-9e32-abfc0ede0564 + name: 5g-small-cell-10 + type: POA-5G + netChar: + latency: 4 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + poa5GConfig: + cellId: 0A0A0A0A + geoData: + location: + type: Point + coordinates: + - 7.426598 + - 43.73844 + radius: 100 + path: null + eopMode: null + velocity: null + d2dInRange: null + poaInRange: null + terminalLinkLatency: null + terminalLinkLatencyVariation: null + terminalLinkThroughput: null + terminalLinkPacketLoss: null + meta: null + userMeta: null + cellularPoaConfig: null + poa4GConfig: null + poaWifiConfig: null + physicalLocations: null + - + id: 2c2ba76c-8880-4c5b-a949-a161713910f4 + name: 5g-small-cell-11 + type: POA-5G + netChar: + latency: 4 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + poa5GConfig: + cellId: 0B0B0B0B + geoData: + location: + type: Point + coordinates: + - 7.428264 + - 43.73876 + radius: 100 + path: null + eopMode: null + velocity: null + d2dInRange: null + poaInRange: null + terminalLinkLatency: null + terminalLinkLatencyVariation: null + terminalLinkThroughput: null + terminalLinkPacketLoss: null + meta: null + userMeta: null + cellularPoaConfig: null + poa4GConfig: null + poaWifiConfig: null + physicalLocations: null + - + id: d9ca5e58-15fe-4161-840f-f3155db3729b + name: 5g-small-cell-12 + type: POA-5G + netChar: + latency: 4 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + poa5GConfig: + cellId: 0C0C0C0C + geoData: + location: + type: Point + coordinates: + - 7.42738 + - 43.739075 + radius: 100 + path: null + eopMode: null + velocity: null + d2dInRange: null + poaInRange: null + terminalLinkLatency: null + terminalLinkLatencyVariation: null + terminalLinkThroughput: null + terminalLinkPacketLoss: null + meta: null + userMeta: null + cellularPoaConfig: null + poa4GConfig: null + poaWifiConfig: null + physicalLocations: null + - + id: 8414d39b-d3c3-45e1-a235-cf93d211579c + name: 5g-small-cell-9 + type: POA-5G + netChar: + latency: 4 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + poa5GConfig: + cellId: '07070707' + geoData: + location: + type: Point + coordinates: + - 7.417394 + - 43.735794 + radius: 100 + path: null + eopMode: null + velocity: null + d2dInRange: null + poaInRange: null + terminalLinkLatency: null + terminalLinkLatencyVariation: null + terminalLinkThroughput: null + terminalLinkPacketLoss: null + meta: null + userMeta: null + cellularPoaConfig: null + poa4GConfig: null + poaWifiConfig: null + physicalLocations: null + interFogLatency: null + interFogLatencyVariation: null + interFogThroughput: null + interFogPacketLoss: null + interEdgeLatency: null + interEdgeLatencyVariation: null + interEdgeThroughput: null + interEdgePacketLoss: null + edgeFogLatency: null + edgeFogLatencyVariation: null + edgeFogThroughput: null + edgeFogPacketLoss: null + userMeta: null + - + id: d56c4e67-0e0f-4456-9431-290de7b674c8 + name: zone04 + type: ZONE + netChar: + latency: 5 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + meta: + display.map.color: limegreen + networkLocations: + - + id: zone04-DEFAULT + name: zone04-DEFAULT + type: DEFAULT + netChar: + latency: 1 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + terminalLinkLatency: null + terminalLinkLatencyVariation: null + terminalLinkThroughput: null + terminalLinkPacketLoss: null + meta: null + userMeta: null + cellularPoaConfig: null + poa4GConfig: null + poa5GConfig: null + poaWifiConfig: null + geoData: null + physicalLocations: null + - + id: fc4d9ec8-ebb6-4b5d-a281-bb74af729b4a + name: 4g-macro-cell-8 + type: POA-4G + netChar: + latency: 10 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + poa4GConfig: + cellId: '8080808' + geoData: + location: + type: Point + coordinates: + - 7.429504 + - 43.74301 + radius: 400 + path: null + eopMode: null + velocity: null + d2dInRange: null + poaInRange: null + terminalLinkLatency: null + terminalLinkLatencyVariation: null + terminalLinkThroughput: null + terminalLinkPacketLoss: null + meta: null + userMeta: null + cellularPoaConfig: null + poa5GConfig: null + poaWifiConfig: null + physicalLocations: null + - + id: b73b3ef5-dba0-44af-a648-bbda7191c249 + name: 4g-macro-cell-9 + type: POA-4G + netChar: + latency: 10 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + poa4GConfig: + cellId: '9090909' + geoData: + location: + type: Point + coordinates: + - 7.432551 + - 43.746544 + radius: 400 + path: null + eopMode: null + velocity: null + d2dInRange: null + poaInRange: null + terminalLinkLatency: null + terminalLinkLatencyVariation: null + terminalLinkThroughput: null + terminalLinkPacketLoss: null + meta: null + userMeta: null + cellularPoaConfig: null + poa5GConfig: null + poaWifiConfig: null + physicalLocations: null + - + id: e1d47a4b-0664-4915-81ea-eb0d70af15a7 + name: 4g-macro-cell-10 + type: POA-4G + netChar: + latency: 10 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + poa4GConfig: + cellId: A0A0A0A + geoData: + location: + type: Point + coordinates: + - 7.437573 + - 43.748993 + radius: 400 + path: null + eopMode: null + velocity: null + d2dInRange: null + poaInRange: null + physicalLocations: + - + id: 4e423f57-daef-4c1c-b30e-45e88e3c9366 + name: 10.1.0.4 + type: UE + geoData: + location: + type: Point + coordinates: + - 7.438248 + - 43.74835 + radius: null + path: null + eopMode: null + velocity: null + d2dInRange: null + poaInRange: null + wireless: true + wirelessType: 'wifi,5g,4g' + meta: + display.map.icon: ion-ios-videocam + netChar: + latencyDistribution: Normal + throughputDl: 1000 + throughputUl: 1000 + latency: null + latencyVariation: null + throughput: null + packetLoss: null + macId: 005C0A010004 + isExternal: null + networkLocationsInRange: null + connected: null + dataNetwork: null + userMeta: null + processes: null + linkLatency: null + linkLatencyVariation: null + linkThroughput: null + linkPacketLoss: null + - + id: 824cf1bf-f91d-44c2-906d-e939fa3339cd + name: 10.10.0.2 + type: UE + geoData: + location: + type: Point + coordinates: + - 7.438755 + - 43.748512 + path: + type: LineString + coordinates: + - + - 7.438755 + - 43.748512 + - + - 7.438267 + - 43.748566 + - + - 7.437795 + - 43.7484 + - + - 7.437684 + - 43.748253 + - + - 7.437555 + - 43.748203 + - + - 7.437341 + - 43.748203 + - + - 7.43673 + - 43.747974 + - + - 7.436623 + - 43.747704 + - + - 7.436237 + - 43.747643 + - + - 7.435969 + - 43.74743 + - + - 7.435841 + - 43.74717 + - + - 7.435504 + - 43.74695 + - + - 7.434829 + - 43.74691 + - + - 7.434293 + - 43.746685 + - + - 7.433882 + - 43.746166 + - + - 7.433431 + - 43.746063 + - + - 7.432831 + - 43.745686 + - + - 7.432585 + - 43.745182 + - + - 7.432767 + - 43.744633 + - + - 7.432552 + - 43.744244 + - + - 7.432617 + - 43.743763 + - + - 7.432305 + - 43.743305 + - + - 7.431682 + - 43.742676 + - + - 7.431136 + - 43.74201 + - + - 7.430524 + - 43.741123 + - + - 7.430432 + - 43.740696 + - + - 7.430382 + - 43.740437 + - + - 7.430384 + - 43.74021 + - + - 7.430288 + - 43.739372 + - + - 7.429773 + - 43.73849 + - + - 7.429976 + - 43.738228 + - + - 7.429654 + - 43.73791 + - + - 7.429371 + - 43.73765 + - + - 7.430027 + - 43.736446 + eopMode: REVERSE + velocity: 9 + radius: null + d2dInRange: null + poaInRange: null + wireless: true + wirelessType: 'wifi,5g,4g' + meta: + display.map.icon: ion-android-walk + netChar: + latencyDistribution: Normal + throughputDl: 1000 + throughputUl: 1000 + latency: null + latencyVariation: null + throughput: null + packetLoss: null + macId: 005C0A0A0002 + isExternal: null + networkLocationsInRange: null + connected: null + dataNetwork: null + userMeta: null + processes: null + linkLatency: null + linkLatencyVariation: null + linkThroughput: null + linkPacketLoss: null + - + id: 097f79f4-bf76-4be0-be28-5acc3bdb0dba + name: 10.100.0.4 + type: UE + geoData: + location: + type: Point + coordinates: + - 7.438357 + - 43.74781 + path: + type: LineString + coordinates: + - + - 7.438357 + - 43.74781 + - + - 7.438296 + - 43.747852 + - + - 7.438229 + - 43.74791 + - + - 7.43813 + - 43.74803 + - + - 7.438074 + - 43.748108 + - + - 7.438025 + - 43.748264 + - + - 7.437991 + - 43.748398 + - + - 7.437937 + - 43.748512 + - + - 7.437883 + - 43.74859 + - + - 7.437741 + - 43.74875 + - + - 7.437593 + - 43.748924 + - + - 7.437481 + - 43.74905 + - + - 7.437416 + - 43.74911 + - + - 7.437419 + - 43.749146 + - + - 7.43739 + - 43.749184 + - + - 7.437339 + - 43.749203 + - + - 7.437285 + - 43.74919 + - + - 7.437256 + - 43.74917 + - + - 7.43555 + - 43.74844 + - + - 7.435097 + - 43.748184 + - + - 7.435008 + - 43.748077 + - + - 7.434885 + - 43.747814 + - + - 7.434788 + - 43.747723 + - + - 7.433391 + - 43.74693 + - + - 7.433243 + - 43.74679 + - + - 7.43301 + - 43.746536 + - + - 7.432804 + - 43.74642 + - + - 7.432353 + - 43.74604 + - + - 7.431985 + - 43.74559 + - + - 7.431216 + - 43.74428 + - + - 7.430556 + - 43.74307 + - + - 7.430336 + - 43.741848 + - + - 7.430226 + - 43.74178 + - + - 7.430038 + - 43.741756 + - + - 7.429864 + - 43.741695 + - + - 7.429766 + - 43.74158 + - + - 7.429731 + - 43.741432 + - + - 7.429797 + - 43.741234 + - + - 7.42986 + - 43.74115 + - + - 7.42995 + - 43.74109 + - + - 7.430094 + - 43.74108 + - + - 7.430255 + - 43.74114 + - + - 7.430392 + - 43.74126 + - + - 7.430475 + - 43.7415 + - + - 7.430642 + - 43.742832 + - + - 7.430717 + - 43.74308 + - + - 7.432086 + - 43.745556 + - + - 7.432441 + - 43.74601 + - + - 7.433179 + - 43.746563 + - + - 7.434716 + - 43.747498 + - + - 7.434871 + - 43.74766 + - + - 7.435108 + - 43.74807 + - + - 7.435305 + - 43.74823 + - + - 7.435923 + - 43.748547 + - + - 7.436871 + - 43.748955 + - + - 7.437138 + - 43.749054 + - + - 7.437248 + - 43.74907 + - + - 7.437368 + - 43.749058 + - + - 7.43747 + - 43.74894 + - + - 7.437652 + - 43.748714 + - + - 7.437765 + - 43.74859 + - + - 7.437835 + - 43.748512 + - + - 7.437883 + - 43.74838 + - + - 7.437918 + - 43.74817 + - + - 7.437931 + - 43.748116 + - + - 7.438001 + - 43.747997 + - + - 7.438098 + - 43.747868 + - + - 7.438138 + - 43.747826 + - + - 7.438159 + - 43.74777 + - + - 7.438159 + - 43.747692 + - + - 7.438173 + - 43.747616 + - + - 7.438205 + - 43.747566 + - + - 7.438264 + - 43.747528 + - + - 7.438347 + - 43.747513 + - + - 7.438443 + - 43.74752 + - + - 7.438505 + - 43.74755 + - + - 7.438548 + - 43.7476 + - + - 7.438569 + - 43.747654 + - + - 7.438545 + - 43.747726 + - + - 7.438494 + - 43.747772 + - + - 7.438431 + - 43.7478 + - + - 7.438357 + - 43.74781 + eopMode: LOOP + velocity: 20 + radius: null + d2dInRange: null + poaInRange: null + wireless: true + wirelessType: 'wifi,5g,4g' + meta: + display.map.icon: ion-android-car + netChar: + latencyDistribution: Normal + throughputDl: 1000 + throughputUl: 1000 + latency: null + latencyVariation: null + throughput: null + packetLoss: null + macId: 005C0A640004 + isExternal: null + networkLocationsInRange: null + connected: null + dataNetwork: null + userMeta: null + processes: null + linkLatency: null + linkLatencyVariation: null + linkThroughput: null + linkPacketLoss: null + terminalLinkLatency: null + terminalLinkLatencyVariation: null + terminalLinkThroughput: null + terminalLinkPacketLoss: null + meta: null + userMeta: null + cellularPoaConfig: null + poa5GConfig: null + poaWifiConfig: null + - + id: 3fbf9ec8-3932-455c-8352-0d06b7bb7a15 + name: 5g-small-cell-13 + type: POA-5G + netChar: + latency: 4 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + poa5GConfig: + cellId: 0D0D0D0D + geoData: + location: + type: Point + coordinates: + - 7.431907 + - 43.74543 + radius: 100 + path: null + eopMode: null + velocity: null + d2dInRange: null + poaInRange: null + terminalLinkLatency: null + terminalLinkLatencyVariation: null + terminalLinkThroughput: null + terminalLinkPacketLoss: null + meta: null + userMeta: null + cellularPoaConfig: null + poa4GConfig: null + poaWifiConfig: null + physicalLocations: null + - + id: 80e3b677-56cb-495c-b798-e19f96d491b9 + name: 5g-small-cell-14 + type: POA-5G + netChar: + latency: 4 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + poa5GConfig: + cellId: 0E0E0E0E + geoData: + location: + type: Point + coordinates: + - 7.431824 + - 43.74787 + radius: 100 + path: null + eopMode: null + velocity: null + d2dInRange: null + poaInRange: null + terminalLinkLatency: null + terminalLinkLatencyVariation: null + terminalLinkThroughput: null + terminalLinkPacketLoss: null + meta: null + userMeta: null + cellularPoaConfig: null + poa4GConfig: null + poaWifiConfig: null + physicalLocations: null + - + id: dcb66c87-1854-4c8e-ae88-72b14df9aaff + name: 5g-small-cell-15 + type: POA-5G + netChar: + latency: 4 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + poa5GConfig: + cellId: 0F0F0F0F + geoData: + location: + type: Point + coordinates: + - 7.433529 + - 43.74865 + radius: 100 + path: null + eopMode: null + velocity: null + d2dInRange: null + poaInRange: null + terminalLinkLatency: null + terminalLinkLatencyVariation: null + terminalLinkThroughput: null + terminalLinkPacketLoss: null + meta: null + userMeta: null + cellularPoaConfig: null + poa4GConfig: null + poaWifiConfig: null + physicalLocations: null + - + id: 10b048d1-2fba-486d-89a0-d1a3191b90b4 + name: 5g-small-cell-16 + type: POA-5G + netChar: + latency: 4 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + poa5GConfig: + cellId: '010101010' + geoData: + location: + type: Point + coordinates: + - 7.434421 + - 43.749107 + radius: 100 + path: null + eopMode: null + velocity: null + d2dInRange: null + poaInRange: null + terminalLinkLatency: null + terminalLinkLatencyVariation: null + terminalLinkThroughput: null + terminalLinkPacketLoss: null + meta: null + userMeta: null + cellularPoaConfig: null + poa4GConfig: null + poaWifiConfig: null + physicalLocations: null + - + id: 35602880-9727-4ed6-8f53-fe0ffab22cb4 + name: 5g-small-cell-17 + type: POA-5G + netChar: + latency: 4 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + poa5GConfig: + cellId: '111111111' + geoData: + location: + type: Point + coordinates: + - 7.437487 + - 43.7487 + radius: 100 + path: null + eopMode: null + velocity: null + d2dInRange: null + poaInRange: null + terminalLinkLatency: null + terminalLinkLatencyVariation: null + terminalLinkThroughput: null + terminalLinkPacketLoss: null + meta: null + userMeta: null + cellularPoaConfig: null + poa4GConfig: null + poaWifiConfig: null + physicalLocations: null + - + id: 4aef0f33-51d2-472c-8441-b5c55f0de626 + name: 5g-small-cell-18 + type: POA-5G + netChar: + latency: 4 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + poa5GConfig: + cellId: '212121212' + geoData: + location: + type: Point + coordinates: + - 7.438839 + - 43.749706 + radius: 100 + path: null + eopMode: null + velocity: null + d2dInRange: null + poaInRange: null + terminalLinkLatency: null + terminalLinkLatencyVariation: null + terminalLinkThroughput: null + terminalLinkPacketLoss: null + meta: null + userMeta: null + cellularPoaConfig: null + poa4GConfig: null + poaWifiConfig: null + physicalLocations: null + - + id: 3396c6ae-28f8-4c8b-ba12-9991bddeed61 + name: 5g-small-cell-19 + type: POA-5G + netChar: + latency: 4 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + poa5GConfig: + cellId: '313131313' + geoData: + location: + type: Point + coordinates: + - 7.4371 + - 43.750282 + radius: 100 + path: null + eopMode: null + velocity: null + d2dInRange: null + poaInRange: null + terminalLinkLatency: null + terminalLinkLatencyVariation: null + terminalLinkThroughput: null + terminalLinkPacketLoss: null + meta: null + userMeta: null + cellularPoaConfig: null + poa4GConfig: null + poaWifiConfig: null + physicalLocations: null + - + id: 246f3830-3b56-4359-9452-b17f34426888 + name: 5g-small-cell-20 + type: POA-5G + netChar: + latency: 4 + latencyVariation: 1 + throughputDl: 1000 + throughputUl: 1000 + latencyDistribution: null + throughput: null + packetLoss: null + poa5GConfig: + cellId: '414141414' + geoData: + location: + type: Point + coordinates: + - 7.436006 + - 43.749382 + radius: 100 + path: null + eopMode: null + velocity: null + d2dInRange: null + poaInRange: null + terminalLinkLatency: null + terminalLinkLatencyVariation: null + terminalLinkThroughput: null + terminalLinkPacketLoss: null + meta: null + userMeta: null + cellularPoaConfig: null + poa4GConfig: null + poaWifiConfig: null + physicalLocations: null + interFogLatency: null + interFogLatencyVariation: null + interFogThroughput: null + interFogPacketLoss: null + interEdgeLatency: null + interEdgeLatencyVariation: null + interEdgeThroughput: null + interEdgePacketLoss: null + edgeFogLatency: null + edgeFogLatencyVariation: null + edgeFogThroughput: null + edgeFogPacketLoss: null + userMeta: null + interZoneLatency: null + interZoneLatencyVariation: null + interZoneThroughput: null + interZonePacketLoss: null + meta: null + userMeta: null + interDomainLatency: null + interDomainLatencyVariation: null + interDomainThroughput: null + interDomainPacketLoss: null + meta: null