Commit bfb3fb7e authored by Robert Gazda's avatar Robert Gazda
Browse files

Added RNIS API Usage in the Sandbox - work in progress

parent 4023eed6
Loading
Loading
Loading
Loading
+42 −6
Original line number Diff line number Diff line
@@ -139,10 +139,14 @@ The MEC Sandbox Macro Network Scenario includes the following terminal types:

### Terminal Mobility Path Examples in Monaco

1. [Vehicle - High-Mobility Terminal](Example-High-Mobility-Terminal.md)
2. [Pedestrian - Low-Mobility Terminal](Example-Low-Mobility-Terminal.md)
> These are examples.  Specific terminal mobility paths will be determined during scenario implementation.

#### Example #1 - High Mobility Terminal
![MonacoHighMobilityExample](Monaco-Example-High-Mobility-Terminal-Path.png)

#### Example #2 - High Mobility Terminal
![MonacoLowMobilityExample](Monaco-Example-Low-Mobility-Terminal-Path.png)

> Specific terminal mobility paths will be determined during scenario implementation.



@@ -166,15 +170,16 @@ See details below.
Note, the MEC Service APIs are not isolated from each other.  For example, a Sandbox User may call the Location Service and RNIS at the same time.  The MEC Sandbox  API responses will be consistent across both Services.

### MEC013 Location Service
#### MEC013 v1.1.1 - currently available swagger version
> _v2 will be considered when available on Forge.  However, v2 delta summary and impact to the Sandbox is provided._

#### MEC013 v1.1.1 - currently available swagger version

References:
* https://www.etsi.org/deliver/etsi_gs/MEC/001_099/013/01.01.01_60/gs_MEC013v010101p.pdf
* https://forge.etsi.org/rep/mec/gs013-location-api
* https://forge.etsi.org/swagger/ui/?url=https://forge.etsi.org/gitlab/mec/gs013-location-api/raw/master/LocationAPI.yaml

| Endpoint: | <div style="width:300px">Use:</div>        | Notes:         |
| Endpoint: | <div style="width:300px">Sandbox Usage:</div>        | Notes:         |
| ----------|------------ | -------------- |
| [/zones](https://forge.etsi.org/swagger/ui/?url=https://forge.etsi.org/gitlab/mec/gs013-location-api/raw/master/LocationAPI.yaml#/operations/zones/zonesGet) | Discover the layout of the network – # of zones and their id's.  <br><br>List of Zones: zone id with number of access points and users in a zone. | As a user, I use this call to learn the number of zones and their id's. <br> <br>  I can use the zone information to learn more information about the network.  <br><br> **If I know nothing about the network, this end-point is a good API to first learn how the network is organized in zones, how many access points are in a zone, and where concentrations (#) of users may be.**
| [/zones/{zoneId}](https://forge.etsi.org/swagger/ui/?url=https://forge.etsi.org/gitlab/mec/gs013-location-api/raw/master/LocationAPI.yaml#/operations/zones/zonesGetById)| Discover the Number of access points and users in a zone | Returns same data as /zones without an id. |
@@ -207,7 +212,38 @@ References:

### MEC012 Radio Network Information Service

> *coming soon*
> *Under development including consideration for RNIS v2 - to be completed for Milestone B*

#### MEC 012 v1.1.1 - currently available swagger version

References:
* https://www.etsi.org/deliver/etsi_gs/MEC/001_099/012/01.01.01_60/gs_MEC012v010101p.pdf
* https://forge.etsi.org/rep/mec/gs012-rnis-api
* https://forge.etsi.org/swagger/ui/?url=https://forge.etsi.org/gitlab/mec/gs012-rnis-api/raw/master/RniAPI.yaml#/

##### Query Endpoints
| Endpoint: | Spec Description | Sandbox Usage:        | Notes:         |
| ----------| --------------------- | --------------------- | -------------- |
| /queries/rab_info | This resource is queried to retrieve information on Radio Access Bearers. | Terminal's are identified via UE_IPV4_ADDRESS type in associateId <br><br> Sandbox query input utilizes: <ul><li> cell_id (array): returns RabInfo for all terminals connected within the input cells (RabInfo includes terminal's assoicateId = IP address) </li><li> ue_ipv4_address (array): returns RabInfo for all input terminal's based on IP address (RabInfo includes terminal's connected Cell Id) </li><li> If no parameters are included: returns all RabInfo for all connected terminals in all cells </li><li> Both parameters are considered an "and". </li></ul> <br> All other parameter are ignored.  | Although the MEC Sandbox does not include data paths to terminals, the rab_info query can be used to discover terminals and their connected cells in the Sandbox.  <br><br> As a Sandbox user, I can use this call to learn about all terminals in the network connected to 3GPP PoAs. I don't need to know the Terminal Id or the Cell Id. Input = null.  <br><br> As a Sandbox user, if I know a Terminal's Id (IP address), I can use this call to determine if and where that terminal is 3GPP connected (input = terminal IP address)  <br><br> As a Sandbox user, if I know a Cell Id, I can use this call to learn what terminals may be connected in that cell (input = cell id in EGCI format). |
| /queries/plmn_info |  This resource is queried to retrieve information on the underlying Mobile Network that the mobile edge application is associated to. | Returns Sandbox PLMN: <ul><li> MCC = 001; <li> MNC = 001 </ul> | As a Sandbox user, I can use this query to learn the PLMN of the Sandbox Network. <br><br> RNIS v1: cellId set to static value <br><br> Application instance identifier is ignored. |
| /queries/s1_bearer_info |	This resource is queried to retrieve S1-U bearer information related to specific UE(s). |	*Future Consideration* | |

##### Subscription Endpoints

> Subscriptions not listed will be considered in Milestone

| Endpoint: | Spec Description | Sandbox Usage:        | Notes:         |
| ----------| ---------------- | --------------------- | -------------- |
| /subscriptions | The GET method is used to request information about the subscriptions for this requestor. Upon success, the response contains entity body with the list of links to the subscriptions that are present for the requestor. | Return list of all RNIS subscriptions | Sandbox supports a single requester (i.e. single ME app calling MEC services). |
| /subscriptions/cell_change	| Cell change notifications |	Notifications report cell changes based on input filters <br><br> Supported filters include: <ul><li> associateId: list of terminals based on IP address <li> plmnId: ignored <li> cellId: list of cells (if not present, all cell changes) <li> hoStatus: ignored (notifications on COMPLETE) </ul> Filters are considered an "and" between types, then an "or" within the list of a type. For example: UEs (1,2,3) + Cells (a,b,c). Notification will trigger if any of the UEs handover with any of the cells; Otherwise not. UE1 handover with Cell4 for example. <br><br> Expiry Deadline is ignored. | As a Sandbox User, I can set a notification with no filters and I will get all cell change events that occur in the sandbox. <br><br> As a Sandbox User, I can set a notification for a specific terminal (or set) and monitor its handover changes across the 3GPP points of access. <br><br> As a Sandbox User, I can set a notification to monitor a specific cell (or set of cells) and monitor handover events for that cell.
| /subscriptions/rab_est	| RAB establishment notification	| Notifications report RAB establishments in the network, i.e. when a terminal connects to the 3GPP network. Sandbox examples include: <ul> <li> Terminal is added to the Macro Network Scenario by the user <li> Terminal connects to a 3GPP PoA after being connected to WiFi </ul> <br>Supported filters include: <ul> <li> plmnId: ignored <li> cellId: list of cell (if not present, RAB establishment on any cell) <li> QCI: ignored </ul> <br> Expiry Deadline is ignored. <br> <br> Notification returns: <ul><li> associateId: IPv4 address of the terminal <li> erabId: RAB Id for the terminal's bearer </ul> | As a Sandbox User, I can set a notification with no filters and I will get all RAB establishment events on any cell (terminal connection to 3GPP anywhere in the network). <br><br> As a Sandbox User, I can set a notification for a specific cell (or set of cells) and monitor RAB establishments for those cells. |
| /subscriptions/rab_rel	| RAB release notification | Notifications report RAB releases in the network, i.e. when a terminal disconnects from the 3GPP network. Sandbox examples include: <ul><li> Terminal is removed from the Macro Network Scenario by the user <li> Terminal disconnects from a 3GPP PoA and connects to WiFi (RAB is released). </ul>  <br> Supported filters include: <ul><li> erabId: single value (or associateId, list of IP addresses) <li> plmnId: ignored <li> cellId: list of cell (if not present, RAB release on any cell) <li> QCI: ignored </ul> <br> Expiry Deadline is ignored. | As a Sandbox User, I can set a notification with no filters and I will get all RAB release events on any cell (terminal disconnect from 3GPP anywhere in the network - device removed or WiFi connection). <br><br> As a Sandbox User, I can get a RAB release notification for a specific terminal and I will get a notification, if that terminal disconnects from 3GPP. |



### MEC028 WLAN Service

> *Future consideration for Milestone B*


## Example MEC Sandbox Use Cases