Commits (5)
protoc/
go-stubs/
ruby-stubs/
.proto-gen/
python-stubs/
.vscode/
\ No newline at end of file
# OpenAPI Generator Ignore
# Generated by openapi-generator https://github.com/openapitools/openapi-generator
# Use this file to prevent files from being overwritten by the generator.
# The patterns follow closely to .gitignore or .dockerignore.
# As an example, the C# client generator defines ApiClient.cs.
# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line:
#ApiClient.cs
# You can match any string of characters against a directory, file or extension with a single asterisk (*):
#foo/*/qux
# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux
# You can recursively match patterns against a directory, file or extension with a double asterisk (**):
#foo/**/qux
# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux
# You can also negate patterns with an exclamation (!).
# For example, you can ignore all files in a docs folder with the file extension .md:
#docs/*.md
# Then explicitly reverse the ignore rule for a single file:
#!docs/README.md
.openapi-generator-ignore
README.md
models/bw_info.proto
models/bw_info_deltas.proto
models/bw_info_deltas_session_filter.proto
models/bw_info_session_filter.proto
models/problem_details.proto
models/time_stamp.proto
services/bwm_service.proto
# gPRC for mec015
The ETSI MEC ISG Bandwidth Management API described using OpenAPI.
## Overview
These files were generated by the [OpenAPI Generator](https://openapi-generator.tech) project.
- API version: 2.2.1
- Package version:
- Build package: org.openapitools.codegen.languages.ProtobufSchemaCodegen
For more information, please visit [https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api](https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api)
## Usage
Below are some usage examples for Go and Ruby. For other languages, please refer to https://grpc.io/docs/quickstart/.
### Python
1. Install the grpcio-tools package
```sh
$ pip install grpcio-tools
```
2. Create a directory for generated Python stubs
```sh
$ mkdir python-stubs
```
3. Run the following commands from the root of the directory containing this README that you are reading.
- Models:
```sh
$ python -m grpc_tools.protoc -I./BwManagementProto3/proto3 --python_out=./python-stubs ./BwManagementProto3/proto3/models/*
```
The above command will generate .py files for all the data models in the ./models directory
- Services:
```sh
$ python -m grpc_tools.protoc -I./BwManagementProto3/proto3 --python_out=./python-stubs --grpc_python_out=./python-stubs ./BwManagementProto3/proto3/services/bwm_service.proto
```
The above command will generate two files for the BWM service:
- _bwm_service_pb2.py_: containing the python data models used in the BWM service file.
- _bwm_service_pb2_grpc.py_: containing all the classes and functions needed for the supported HTTP methods in the BWM API.
### Go
1. Install protocol buffer compiler
```sh
$ apt install -y protobuf-compiler
```
2. Install Go plugins for `protoc`
```sh
$ go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.28.1
```
```sh
$ go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.2.0
```
3. Update `PATH` so `protoc` can find the plugins
```sh
$ export PATH="$PATH:$(go env GOPATH)/bin"
```
4. Define a go package by appending `option go_package = "./mec015.services.bwmservice";` in .proto files like this:
```Go
...
syntax = "proto3";
package mec015.services.bwmservice;
option go_package = "./mec015.services.bwmservice";
import public "models/<xyz>.proto";
...
```
5. Generate Go code for models and services
```sh
$ mkdir go-stubs
$ protoc --go_out=./go-stubs ./BwManagementProto3/proto3/models/* -I./BwManagementProto3/proto3
$ protoc --go_out=./go-stubs ./BwManagementProto3/proto3/services/* --go-grpc_out=go-stubs -I./BwManagementProto3/proto3
```
> The generated `<data_model>.pb.go` files will contain all the protocol buffer code to populate, serialize, and retrieve request and response message types defined in the `models` folder.
> The `bwm_service_grpc.pb.go` will contain the stubs for the methods defined in the `bwm_service.proto` file.
### Ruby
1. Install gRPC Ruby Plugin and required tools
```sh
$ gem install grpc
$ sudo apt install ruby-grpc-tools
```
2. Generate code
```sh
$ mkdir ruby-stubs
```
Run the following command to create Ruby modules for all the data models defined in the proto files.
```sh
$ grpc_tools_ruby_protoc -I./BwManagementProto3/proto3 --ruby_out=ruby-stubs ./BwManagementProto3/proto3/models/*
```
Run the following command to generate `bwm_service_pb.rb` and `bwm_service_services_pb.rb` files, containing stub and service classes for the endpoints and methods defined in BWM service.
```sh
$ grpc_tools_ruby_protoc -I./BwManagementProto3/proto3 --ruby_out=ruby-stubs --grpc_out=ruby-stubs ./BwManagementProto3/proto3/services/*
```
\ No newline at end of file
/*
ETSI GS MEC 015 Bandwidth Management API
The ETSI MEC ISG Bandwidth Management API described using OpenAPI.
The version of the OpenAPI document: 2.2.1
Generated by OpenAPI Generator: https://openapi-generator.tech
*/
syntax = "proto3";
package mec015;
import public "models/bw_info_session_filter.proto";
import public "models/time_stamp.proto";
message BwInfo {
// Bandwidth allocation instance identifier
string allocationId = 1;
// Name of the application
string appName = 2;
// The direction of the requested BW allocation: 00 = Downlink (towards the UE) 01 = Uplink (towards the application/session) 10 = Symmetrical
string allocationDirection = 3;
// Application instance identifier
string appInsId = 4;
// Size of requested fixed BW allocation in [bps]
string fixedAllocation = 5;
// Indicates the allocation priority when dealing with several applications or sessions in parallel. Values are not defined in the present document
enum FixedBWPriorityEnum {
SEE_DESCRIPTION = 0;
}
FixedBWPriorityEnum fixedBWPriority = 6;
// Numeric value (0 - 255) corresponding to specific type of consumer as following: 0 = APPLICATION_SPECIFIC_BW_ALLOCATION 1 = SESSION_SPECIFIC_BW_ALLOCATION
enum RequestTypeEnum {
_0 = 0;
_1 = 1;
}
RequestTypeEnum requestType = 7;
// Session filtering criteria, applicable when requestType is set as SESSION_SPECIFIC_BW_ALLOCATION. Any filtering criteria shall define a single session only. In case multiple sessions match sessionFilter the request shall be rejected
repeated BwInfoSessionFilter sessionFilter = 8;
TimeStamp timeStamp = 9;
}
/*
ETSI GS MEC 015 Bandwidth Management API
The ETSI MEC ISG Bandwidth Management API described using OpenAPI.
The version of the OpenAPI document: 2.2.1
Generated by OpenAPI Generator: https://openapi-generator.tech
*/
syntax = "proto3";
package mec015;
import public "models/bw_info_deltas_session_filter.proto";
message BwInfoDeltas {
// Bandwidth allocation instance identifier
string allocationId = 1;
// The direction of the requested BW allocation: 00 = Downlink (towards the UE) 01 = Uplink (towards the application/session) 10 = Symmetrical
string allocationDirection = 2;
// Application instance identifier
string appInsId = 3;
// Size of requested fixed BW allocation in [bps]
string fixedAllocation = 4;
// Indicates the allocation priority when dealing with several applications or sessions in parallel. Values are not defined in the present document
enum FixedBWPriorityEnum {
SEE_DESCRIPTION = 0;
}
FixedBWPriorityEnum fixedBWPriority = 5;
// Numeric value (0 - 255) corresponding to specific type of consumer as following: 0 = APPLICATION_SPECIFIC_BW_ALLOCATION 1 = SESSION_SPECIFIC_BW_ALLOCATION
enum RequestTypeEnum {
_0 = 0;
_1 = 1;
}
RequestTypeEnum requestType = 6;
// Session filtering criteria, applicable when requestType is set as SESSION_SPECIFIC_BW_ALLOCATION. Any filtering criteria shall define a single session only. In case multiple sessions match sessionFilter the request shall be rejected
repeated BwInfoDeltasSessionFilter sessionFilter = 7;
}
/*
ETSI GS MEC 015 Bandwidth Management API
The ETSI MEC ISG Bandwidth Management API described using OpenAPI.
The version of the OpenAPI document: 2.2.1
Generated by OpenAPI Generator: https://openapi-generator.tech
*/
syntax = "proto3";
package mec015;
message BwInfoDeltasSessionFilter {
// Destination address identity of session. The string for an IPv4 address shall be formatted in the \"dotted decimal\" notation as defined in IETF RFC 1166 [10]. The string for an IPv6 address shall be formatted according to clause 4 of IETF RFC 5952 [11], with in CIDR notation [12] used to provide the routing prefix
string dstAddress = 1;
// Destination port identity of session
repeated string dstPort = 2;
// Protocol number
string protocol = 3;
// Source address identity of session. The string for an IPv4 address shall be formatted in the \"dotted decimal\" notation as defined in IETF RFC 1166 [10]. The string for an IPv6 address shall be formatted according to clause 4 of IETF RFC 5952 [11], with in CIDR notation [12] used to provide the routing prefix
string sourceIp = 4;
// Source port identity of session
repeated string sourcePort = 5;
}
/*
ETSI GS MEC 015 Bandwidth Management API
The ETSI MEC ISG Bandwidth Management API described using OpenAPI.
The version of the OpenAPI document: 2.2.1
Generated by OpenAPI Generator: https://openapi-generator.tech
*/
syntax = "proto3";
package mec015;
message BwInfoSessionFilter {
// Destination address identity of session. The string for an IPv4 address shall be formatted in the \"dotted decimal\" notation as defined in IETF RFC 1166 [10]. The string for an IPv6 address shall be formatted according to clause 4 of IETF RFC 5952 [11], with in CIDR notation [12] used to provide the routing prefix
string dstAddress = 1;
// Destination port identity of session
repeated string dstPort = 2;
// Protocol number
string protocol = 3;
// Source address identity of session. The string for an IPv4 address shall be formatted in the \"dotted decimal\" notation as defined in IETF RFC 1166 [10]. The string for an IPv6 address shall be formatted according to clause 4 of IETF RFC 5952 [11], with in CIDR notation [12] used to provide the routing prefix
string sourceIp = 4;
// Source port identity of session
repeated string sourcePort = 5;
}
/*
ETSI GS MEC 015 Bandwidth Management API
The ETSI MEC ISG Bandwidth Management API described using OpenAPI.
The version of the OpenAPI document: 2.2.1
Generated by OpenAPI Generator: https://openapi-generator.tech
*/
syntax = "proto3";
package mec015;
message ProblemDetails {
// A human-readable explanation specific to this occurrence of the problem
string detail = 1;
// A URI reference that identifies the specific occurrence of the problem
string instance = 2;
// The HTTP status code for this occurrence of the problem
int32 status = 3;
// A short, human-readable summary of the problem type
string title = 4;
// A URI reference according to IETF RFC 3986 that identifies the problem type
string type = 5;
}
/*
ETSI GS MEC 015 Bandwidth Management API
The ETSI MEC ISG Bandwidth Management API described using OpenAPI.
The version of the OpenAPI document: 2.2.1
Generated by OpenAPI Generator: https://openapi-generator.tech
*/
syntax = "proto3";
package mec015;
message TimeStamp {
// The nanoseconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC
int32 nanoSeconds = 1;
// The seconds part of the Time. Time is defined as Unixtime since January 1, 1970, 00:00:00 UTC
int32 seconds = 2;
}
/*
ETSI GS MEC 015 Bandwidth Management API
The ETSI MEC ISG Bandwidth Management API described using OpenAPI.
The version of the OpenAPI document: 2.2.1
Generated by OpenAPI Generator: https://openapi-generator.tech
*/
syntax = "proto3";
package mec015.services.bwmservice;
import "google/protobuf/empty.proto";
import public "models/bw_info.proto";
import public "models/bw_info_deltas.proto";
import public "models/problem_details.proto";
service BwmService {
rpc BandwidthAllocationDELETE (BandwidthAllocationDELETERequest) returns (google.protobuf.Empty);
rpc BandwidthAllocationGET (BandwidthAllocationGETRequest) returns (BwInfo);
rpc BandwidthAllocationListGET (BandwidthAllocationListGETRequest) returns (BandwidthAllocationListGETResponse);
rpc BandwidthAllocationPATCH (BandwidthAllocationPATCHRequest) returns (BwInfo);
rpc BandwidthAllocationPOST (BandwidthAllocationPOSTRequest) returns (BwInfo);
rpc BandwidthAllocationPUT (BandwidthAllocationPUTRequest) returns (BwInfo);
}
message BandwidthAllocationDELETERequest {
// Represents a bandwidth allocation instance
string allocationId = 1;
}
message BandwidthAllocationGETRequest {
// Represents a bandwidth allocation instance
string allocationId = 1;
}
message BandwidthAllocationListGETRequest {
// A MEC application instance may use multiple app_instance_ids as an input parameter to query the bandwidth allocation of a list of MEC application instances. app_instance_id corresponds to appInsId defined in table 7.2.2-1. See note.
repeated string appInstanceId = 1;
// A MEC application instance may use multiple app_names as an input parameter to query the bandwidth allocation of a list of MEC application instances. app_name corresponds to appName defined in table 7.2.2-1. See note.
repeated string appName = 2;
// A MEC application instance may use session_id as an input parameter to query the bandwidth allocation of a list of sessions. session_id corresponds to allocationId defined in table 7.2.2-1. See note.
repeated string sessionId = 3;
}
message BandwidthAllocationListGETResponse {
repeated BwInfo data = 1;
}
message BandwidthAllocationPATCHRequest {
// Represents a bandwidth allocation instance
string allocationId = 1;
// Description of the changes to instruct the server how to modify the resource representation.
BwInfoDeltas bwInfoDeltas = 2;
}
message BandwidthAllocationPOSTRequest {
// Entity body in the request contains BwInfo to be created.
BwInfo bwInfo = 1;
}
message BandwidthAllocationPUTRequest {
// Represents a bandwidth allocation instance
string allocationId = 1;
// BwInfo with updated information is included as entity body of the request.
BwInfo bwInfo = 2;
}
......@@ -4,11 +4,11 @@ This repository contains OpenAPIs descriptions for the interfaces specified in E
## Online resources
* [Specification Document](https://www.etsi.org/deliver/etsi_gs/MEC/001_099/015/02.01.01_60/gs_MEC015v020101p.pdf)
* [Specification Document](https://www.etsi.org/deliver/etsi_gs/MEC/001_099/015/02.02.01_60/gs_MEC015v020201p.pdf)
* [Navigate the Bandwidth Management API in the browser](https://redocly.github.io/redoc/?url=https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api/-/raw/v2.1.1-OAS3.1/BwManagementApi.yaml)
* [Navigate the Bandwidth Management API in the browser](https://redocly.github.io/redoc/?url=https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api/-/raw/v2.2.1-OAS3.1/BwManagementApi.yaml)
* [Navigate the Traffic Steering API in the browser](https://redocly.github.io/redoc/?url=https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api/-/raw/v2.1.1-OAS3.1/TrafficSteeringApi.yaml)
* [Navigate the Traffic Steering API in the browser](https://redocly.github.io/redoc/?url=https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api/-/raw/v2.2.1-OAS3.1/TrafficSteeringApi.yaml)
## License
......
# OpenAPI Generator Ignore
# Generated by openapi-generator https://github.com/openapitools/openapi-generator
# Use this file to prevent files from being overwritten by the generator.
# The patterns follow closely to .gitignore or .dockerignore.
# As an example, the C# client generator defines ApiClient.cs.
# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line:
#ApiClient.cs
# You can match any string of characters against a directory, file or extension with a single asterisk (*):
#foo/*/qux
# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux
# You can recursively match patterns against a directory, file or extension with a double asterisk (**):
#foo/**/qux
# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux
# You can also negate patterns with an exclamation (!).
# For example, you can ignore all files in a docs folder with the file extension .md:
#docs/*.md
# Then explicitly reverse the ignore rule for a single file:
#!docs/README.md
.openapi-generator-ignore
README.md
models/mts_capability_info.proto
models/mts_capability_info_mts_access_info.proto
models/mts_session_info.proto
models/mts_session_info_flow_filter.proto
models/problem_details.proto
models/qos_d.proto
models/time_stamp.proto
models/time_stamp1.proto
services/mts_service.proto
# gPRC for mec015
The present document focuses on the Multi-access Traffic Steering multi-access edge service. It describes the related application policy information including authorization and access control, information flows, required information and service aggregation patterns. The present document specifies the necessary API with the data model and data format.
## Overview
These files were generated by the [OpenAPI Generator](https://openapi-generator.tech) project.
- API version: 2.2.1
- Package version:
- Build package: org.openapitools.codegen.languages.ProtobufSchemaCodegen
For more information, please visit [https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api](https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api)
## Usage
Below are some usage examples for Go and Ruby. For other languages, please refer to https://grpc.io/docs/quickstart/.
### Python
1. Install the grpcio-tools package
```sh
$ pip install grpcio-tools
```
2. Create a directory for generated Python stubs
```sh
$ mkdir python-stubs
```
3. Run the following commands from the root of the directory containing this README that you are reading.
- Models:
```sh
$ python -m grpc_tools.protoc -I./TrafficSteeringProto3/proto3 --python_out=./python-stubs ./TrafficSteeringProto3/proto3/models/*
```
The above command will generate .py files for all the data models in the ./models directory
- Services:
```sh
$ python -m grpc_tools.protoc -I./TrafficSteeringProto3/proto3 --python_out=./python-stubs --grpc_python_out=./python-stubs ./TrafficSteeringProto3/proto3/services/mts_service.proto
```
The above command will generate two files for the MTS service:
- _mts_service_pb2.py_: containing the python data models used in the MTS service file
- _mts_service_pb2_grpc.py_: containing all the classes and functions needed for the supported HTTP methods in the MTS API
### Go
1. Install protocol buffer compiler
```sh
$ apt install -y protobuf-compiler
```
2. Install Go plugins for `protoc`
```sh
$ go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.28.1
```
```sh
$ go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.2.0
```
3. Update `PATH` so `protoc` can find the plugins
```sh
$ export PATH="$PATH:$(go env GOPATH)/bin"
```
4. Define a go package by appending `option go_package = "./mec015.services.mtsservice";` in .proto files like this:
```Go
...
syntax = "proto3";
package mec015.services.mtsservice;
option go_package = "./mec015.services.mtsservice";
import public "models/<xyz>.proto";
...
```
5. Generate Go code for models and services
```sh
$ mkdir go-stubs
$ protoc --go_out=./go-stubs ./TrafficSteeringProto3/proto3/models/* -I./TrafficSteeringProto3/proto3
$ protoc --go_out=./go-stubs ./TrafficSteeringProto3/proto3/services/* --go-grpc_out=go-stubs -I./TrafficSteeringProto3/proto3
```
> The generated `<data_model>.pb.go` files will contain all the protocol buffer code to populate, serialize, and retrieve request and response message types defined in the `models` folder.
> The `mts_service_grpc.pb.go` will contain the stubs for the methods defined in the `mts_service.proto` file.
### Ruby
1. Install gRPC Ruby Plugin and required tools
```sh
$ gem install grpc
$ sudo apt install ruby-grpc-tools
```
2. Generate code
```sh
$ mkdir ruby-stubs
```
Run the following command to create Ruby modules for all the data models defined in the proto files.
```sh
$ grpc_tools_ruby_protoc -I./TrafficSteeringProto3/proto3 --ruby_out=ruby-stubs ./TrafficSteeringProto3/proto3/models/*
```
Run the following command to generate `mts_service_pb.rb` and `mts_service_services_pb.rb` files, containing stub and service classes for the endpoints and methods defined in MTS service.
```sh
$ grpc_tools_ruby_protoc -I./TrafficSteeringProto3/proto3 --ruby_out=ruby-stubs --grpc_out=ruby-stubs ./TrafficSteeringProto3/proto3/services/*
```
\ No newline at end of file
/*
ETSI GS MEC 015 Multi-access Traffic Steering APIs
The present document focuses on the Multi-access Traffic Steering multi-access edge service. It describes the related application policy information including authorization and access control, information flows, required information and service aggregation patterns. The present document specifies the necessary API with the data model and data format.
The version of the OpenAPI document: 2.2.1
Generated by OpenAPI Generator: https://openapi-generator.tech
*/
syntax = "proto3";
package mec015;
import public "models/mts_capability_info_mts_access_info.proto";
import public "models/time_stamp.proto";
message MtsCapabilityInfo {
// The information on access network connection as defined below
repeated MtsCapabilityInfoMtsAccessInfo mtsAccessInfo = 1;
// Numeric value corresponding to a specific MTS operation supported by the TMS 0 = low cost, i.e. using the unmetered access network connection whenever it is available 1 = low latency, i.e. using the access network connection with lower latency 2 = high throughput, i.e. using the access network connection with higher throughput, or/and multiple access network connection simultaneously if supported 3 = redundancy, i.e. sending duplicated (redundancy) packets over multiple access network connections for highreliability and low-latency applications 4 = QoS, i.e. performing MTS based on the specific QoS requirements from the app
repeated int32 mtsMode = 2;
TimeStamp timeStamp = 3;
}
/*
ETSI GS MEC 015 Multi-access Traffic Steering APIs
The present document focuses on the Multi-access Traffic Steering multi-access edge service. It describes the related application policy information including authorization and access control, information flows, required information and service aggregation patterns. The present document specifies the necessary API with the data model and data format.
The version of the OpenAPI document: 2.2.1
Generated by OpenAPI Generator: https://openapi-generator.tech
*/
syntax = "proto3";
package mec015;
message MtsCapabilityInfoMtsAccessInfo {
// Unique identifier for the access network connection
int32 accessId = 1;
// Numeric value (0-255) corresponding to specific type of access network as following: 0 = Unknown 1 = Any IEEE802.11-based WLAN technology 2 = Any 3GPP-based Cellular technology 3 = Any Fixed Access 11 = IEEE802.11 a/b/g WLAN 12 = IEEE 802.11 a/b/g/n WLAN 13 = IEEE 802.11 a/b/g/n/ac WLAN 14 = IEEE 802.11 a/b/g/n/ac/ax WLAN (Wi-Fi 6) 15 = IEEE 802.11 b/g/n WLAN 31 = 3GPP GERAN/UTRA (2G/3G) 32 = 3GPP E-UTRA (4G/LTE) 33 = 3GPP NR (5G)
int32 accessType = 2;
// Numeric value (0-255) corresponding to the following: 0: the connection is not metered (see note) 1: the connection is metered 2: unknown
int32 metered = 3;
}
/*
ETSI GS MEC 015 Multi-access Traffic Steering APIs
The present document focuses on the Multi-access Traffic Steering multi-access edge service. It describes the related application policy information including authorization and access control, information flows, required information and service aggregation patterns. The present document specifies the necessary API with the data model and data format.
The version of the OpenAPI document: 2.2.1
Generated by OpenAPI Generator: https://openapi-generator.tech
*/
syntax = "proto3";
package mec015;
import public "models/mts_session_info_flow_filter.proto";
import public "models/qos_d.proto";
import public "models/time_stamp1.proto";
message MtsSessionInfo {
// MTS session instance identifier
string sessionId = 1;
// Application instance identifier
string appInsId = 2;
// Name of the application
string appName = 3;
// Traffic flow filtering criteria, applicable only if when requestType is set as FLOW_SPECIFIC_MTS_SESSION. Any filtering criteria shall define a single session only. In case multiple sessions match flowFilter the request shall be rejected. If the flowFilter field is included, at least one of its subfields shall be included. Any flowFilter subfield that is not included shall be ignored in traffic flow filtering
repeated MtsSessionInfoFlowFilter flowFilter = 4;
// Numeric value (0 - 255) corresponding to a specific MTS mode of the MTS session: 0 = low cost, i.e. using the unmetered access network connection whenever it is available 1 = low latency, i.e. using the access network connection with lower latency 2 = high throughput, i.e. using the access network connection with higher throughput, or multiple access network connection simultaneously 3 = redundancy, i.e. sending duplicated (redundancy) packets over multiple access network connections for high-reliability and low-latency applications 4 = QoS, i.e. performing MTS based on the QoS requirement (qosD)
int32 mtsMode = 5;
QosD qosD = 6;
// Numeric value (0 - 255) corresponding to specific type of consumer as following: 0 = APPLICATION_SPECIFIC_MTS_SESSION 1 = FLOW_SPECIFIC_MTS_SESSION
enum RequestTypeEnum {
_0 = 0;
_1 = 1;
}
RequestTypeEnum requestType = 7;
TimeStamp1 timeStamp = 8;
// The direction of the requested MTS session: 00 = Downlink (towards the UE) 01 = Uplink (towards the application/session) 10 = Symmetrical (see note)
string trafficDirection = 9;
}