Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
MEC - Multi-access Edge Computing
MEC TTCN-3 Test Suite
Commits
0b3144c7
Commit
0b3144c7
authored
May 15, 2019
by
Yann Garcia
Browse files
Add RnisAPI typing
parent
a0ce1899
Changes
6
Hide whitespace changes
Inline
Side-by-side
ttcn/AtsMec/AtsMec_RnisAPI.ttcn
0 → 100644
View file @
0b3144c7
ttcn/AtsMec/AtsMec_TestControl.ttcn
View file @
0b3144c7
...
...
@@ -12,6 +12,7 @@ module AtsMec_TestControl {
import
from
AtsMec_LocationAPI_TestCases
all
;
import
from
AtsMec_UEidentityAPI_TestCases
all
;
import
from
AtsMec_UEinformation_TestCases
all
;
import
from
AtsMec_RnisAPI_TestCases
all
;
control
{
...
...
ttcn/LibMec/LocationAPI/ttcn/LocationAPI_TypesAndValues.ttcn
View file @
0b3144c7
...
...
@@ -2,7 +2,12 @@ module LocationAPI_TypesAndValues {
// LibCommon
import
from
LibCommon_BasicTypesAndValues
all
;
/**
* @desc
* @member seconds The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC
* @member nanoSeconds The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC
*/
type
record
TimeStamp
{
UInt32
seconds
,
UInt32
nanoSeconds
...
...
ttcn/LibMec/RnisAPI/json/RnisAPI.json
0 → 100644
View file @
0b3144c7
Changes suppressed. Click to show.
{
"swagger"
:
"2.0"
,
"info"
:
{
"description"
:
"The ETSI MEC ISG MEC012 Radio Network Information API described using OpenAPI"
,
"version"
:
"1.1.1"
,
"title"
:
"RNI API"
,
"license"
:
{
"name"
:
"ETSI Forge copyright notice"
,
"url"
:
"https://forge.etsi.org/etsi-forge-copyright-notice.txt"
}
},
"externalDocs"
:
{
"description"
:
"ETSI GS MEC012 Radio Network Information API, V1.1.1"
,
"url"
:
"http://www.etsi.org/deliver/etsi_gs/MEC/001_099/012/01.01.01_60/gs_mec012v010101p.pdf"
},
"host"
:
"127.0.0.1:8081"
,
"basePath"
:
"/rni/v1"
,
"schemes"
:
[
"http"
,
"https"
],
"consumes"
:
[
"application/json"
],
"produces"
:
[
"application/json"
],
"security"
:
[
{
"OauthSecurity"
:
[
"all"
]
}
],
"securityDefinitions"
:
{
"OauthSecurity"
:
{
"type"
:
"oauth2"
,
"flow"
:
"application"
,
"tokenUrl"
:
"https://oauth.exampleAPI/token"
,
"scopes"
:
{
"all"
:
"Single oauth2 scope for API"
}
}
},
"parameters"
:
{
"Body.CellChangeSubscriptionPost"
:
{
"name"
:
"CellChangeSubscriptionPost"
,
"in"
:
"body"
,
"description"
:
"Use to creates a subscription to cell change notifications based on the
\n
filter criteria"
,
"required"
:
true
,
"schema"
:
{
"type"
:
"object"
,
"properties"
:
{
"CellChangeSubscription"
:
{
"$ref"
:
"#/definitions/CellChangeSubscriptionPost"
}
}
}
},
"Body.CellChangeSubscription"
:
{
"name"
:
"CellChangeSubscription"
,
"in"
:
"body"
,
"description"
:
"Use to creates a subscription to cell change notifications based on the filter criteria"
,
"required"
:
true
,
"schema"
:
{
"type"
:
"object"
,
"properties"
:
{
"CellChangeSubscription"
:
{
"$ref"
:
"#/definitions/CellChangeSubscription"
}
}
}
},
"Body.S1BearerSubscriptionPost"
:
{
"name"
:
"S1BearerSubscriptionPost"
,
"in"
:
"body"
,
"description"
:
"Use to creates a subscription to S1 Bearer notifications based on the filter criteria"
,
"required"
:
true
,
"schema"
:
{
"type"
:
"object"
,
"properties"
:
{
"S1BearerSubscription"
:
{
"$ref"
:
"#/definitions/S1BearerSubscriptionPost"
}
}
}
},
"Body.S1BearerSubscription"
:
{
"name"
:
"S1BearerSubscription"
,
"in"
:
"body"
,
"description"
:
"Use to creates a subscription to S1 Bearer notifications based on the filter criteria"
,
"required"
:
true
,
"schema"
:
{
"type"
:
"object"
,
"properties"
:
{
"S1BearerSubscription"
:
{
"$ref"
:
"#/definitions/S1BearerSubscription"
}
}
}
},
"Body.MeasTaSubscriptionPost"
:
{
"name"
:
"MeasTaSubscriptionPost"
,
"in"
:
"body"
,
"description"
:
"Use to creates a subscription to UE Timing Advance notifications based on the filter criteria"
,
"required"
:
true
,
"schema"
:
{
"type"
:
"object"
,
"properties"
:
{
"MeasTaSubscription"
:
{
"$ref"
:
"#/definitions/MeasTaSubscriptionPost"
}
}
}
},
"Body.MeasTaSubscription"
:
{
"name"
:
"MeasTaSubscription"
,
"in"
:
"body"
,
"description"
:
"Use to creates a subscription to UE Timing Advance notifications based on the filter criteria"
,
"required"
:
true
,
"schema"
:
{
"type"
:
"object"
,
"properties"
:
{
"MeasTaSubscription"
:
{
"$ref"
:
"#/definitions/MeasTaSubscription"
}
}
}
},
"Body.MeasRepUeSubscriptionPost"
:
{
"name"
:
"MeasRepUeSubscriptionPost"
,
"in"
:
"body"
,
"description"
:
"Use to creates a subscription to UE measurement report notifications based on the filter criteria"
,
"required"
:
true
,
"schema"
:
{
"type"
:
"object"
,
"properties"
:
{
"MeasRepUeSubscription"
:
{
"$ref"
:
"#/definitions/MeasRepUeSubscriptionPost"
}
}
}
},
"Body.MeasRepUeSubscription"
:
{
"name"
:
"MeasRepUeSubscription"
,
"in"
:
"body"
,
"description"
:
"Use to creates a subscription to UE measurement report notifications based on the filter criteria"
,
"required"
:
true
,
"schema"
:
{
"type"
:
"object"
,
"properties"
:
{
"MeasRepUeSubscription"
:
{
"$ref"
:
"#/definitions/MeasRepUeSubscription"
}
}
}
},
"Body.RabEstSubscriptionPost"
:
{
"name"
:
"RabEstSubscriptionPost"
,
"in"
:
"body"
,
"description"
:
"Use to creates a subscription to RAB establishment notifications based on the filter criteria"
,
"required"
:
true
,
"schema"
:
{
"type"
:
"object"
,
"properties"
:
{
"RabEstSubscription"
:
{
"$ref"
:
"#/definitions/RabEstSubscriptionPost"
}
}
}
},
"Body.RabEstSubscription"
:
{
"name"
:
"RabEstSubscription"
,
"in"
:
"body"
,
"description"
:
"Use to creates a subscription to RAB establishment notifications based on the filter criteria"
,
"required"
:
true
,
"schema"
:
{
"type"
:
"object"
,
"properties"
:
{
"RabEstSubscription"
:
{
"$ref"
:
"#/definitions/RabEstSubscription"
}
}
}
},
"Body.RabModSubscriptionPost"
:
{
"name"
:
"RabEstSubscriptionPost"
,
"in"
:
"body"
,
"description"
:
"Use to creates a subscription to RAB Modification notifications based on the filter criteria"
,
"required"
:
true
,
"schema"
:
{
"type"
:
"object"
,
"properties"
:
{
"RabModSubscription"
:
{
"$ref"
:
"#/definitions/RabModSubscriptionPost"
}
}
}
},
"Body.RabModSubscription"
:
{
"name"
:
"RabEstSubscription"
,
"in"
:
"body"
,
"description"
:
"Use to creates a subscription to RAB Modification notifications based on the filter criteria"
,
"required"
:
true
,
"schema"
:
{
"type"
:
"object"
,
"properties"
:
{
"RabModSubscription"
:
{
"$ref"
:
"#/definitions/RabModSubscription"
}
}
}
},
"Body.RabRelSubscriptionPost"
:
{
"name"
:
"RabRelSubscriptionPost"
,
"in"
:
"body"
,
"description"
:
"Use to creates a subscription to RAB Release notifications based on the filter criteria"
,
"required"
:
true
,
"schema"
:
{
"type"
:
"object"
,
"properties"
:
{
"RabRelSubscription"
:
{
"$ref"
:
"#/definitions/RabRelSubscriptionPost"
}
}
}
},
"Body.RabRelSubscription"
:
{
"name"
:
"RabRelSubscription"
,
"in"
:
"body"
,
"description"
:
"Use to creates a subscription to RAB Release notifications based on the filter criteria"
,
"required"
:
true
,
"schema"
:
{
"type"
:
"object"
,
"properties"
:
{
"RabRelSubscription"
:
{
"$ref"
:
"#/definitions/RabRelSubscription"
}
}
}
},
"Body.CaReConfSubscriptionPost"
:
{
"name"
:
"CaReConfSubscriptionPost"
,
"in"
:
"body"
,
"description"
:
"Use to creates a subscription to Carrier Aggregation Reconfiguration notifications based on the filter criteria"
,
"required"
:
true
,
"schema"
:
{
"type"
:
"object"
,
"properties"
:
{
"CaReConfSubscription"
:
{
"$ref"
:
"#/definitions/CaReConfSubscriptionPost"
}
}
}
},
"Body.CaReConfSubscription"
:
{
"name"
:
"CaReConfSubscription"
,
"in"
:
"body"
,
"description"
:
"Use to creates a subscription to Carrier Aggregation Reconfiguration notifications based on the filter criteria"
,
"required"
:
true
,
"schema"
:
{
"type"
:
"object"
,
"properties"
:
{
"CaReConfSubscription"
:
{
"$ref"
:
"#/definitions/CaReConfSubscription"
}
}
}
},
"Path.subscrId"
:
{
"name"
:
"subscriptionId"
,
"in"
:
"path"
,
"description"
:
"Subscription Id, specifically the
\"
self
\"
returned in the subscription request"
,
"required"
:
true
,
"type"
:
"string"
,
"format"
:
"uri"
},
"Query.AppInsId"
:
{
"name"
:
"app_ins_id"
,
"in"
:
"query"
,
"description"
:
"Application instance identifier"
,
"required"
:
false
,
"type"
:
"string"
},
"Query.AppInsIdArr"
:
{
"name"
:
"app_ins_id"
,
"in"
:
"query"
,
"description"
:
"Application instance identifier"
,
"required"
:
true
,
"type"
:
"array"
,
"items"
:
{
"type"
:
"string"
}
},
"Query.UeIpv4Address"
:
{
"name"
:
"ue_ipv4_address"
,
"in"
:
"query"
,
"description"
:
"Comma separated list of IE IPv4 addresses as defined for the type for AssociateId"
,
"required"
:
false
,
"type"
:
"array"
,
"items"
:
{
"type"
:
"string"
}
},
"Query.UeIpv6Address"
:
{
"name"
:
"ue_ipv6_address"
,
"in"
:
"query"
,
"description"
:
"Comma separated list of IE IPv6 addresses as defined for the type for AssociateId"
,
"required"
:
false
,
"type"
:
"array"
,
"items"
:
{
"type"
:
"string"
}
},
"Query.NatedIpAddress"
:
{
"name"
:
"nated_ip_address"
,
"in"
:
"query"
,
"description"
:
"Comma separated list of IE NATed IP addresses as defined for the type for AssociateId"
,
"required"
:
false
,
"type"
:
"array"
,
"items"
:
{
"type"
:
"string"
}
},
"Query.GtpTeId"
:
{
"name"
:
"gtp_teid"
,
"in"
:
"query"
,
"description"
:
"Comma separated list of GTP TEID addresses as defined for the type for AssociateId"
,
"required"
:
false
,
"type"
:
"array"
,
"items"
:
{
"type"
:
"string"
}
},
"Query.CellId"
:
{
"name"
:
"cell_id"
,
"in"
:
"query"
,
"description"
:
"E-UTRAN Cell Identity as a bit string (size (28)), as defined in ETSI TS 136 413"
,
"required"
:
false
,
"type"
:
"array"
,
"items"
:
{
"type"
:
"string"
}
},
"Query.ErabGbrDl"
:
{
"name"
:
"erab_gbr_dl"
,
"in"
:
"query"
,
"description"
:
"Guaranteed downlink E-RAB Bit Rate as defined in ETSI TS 123 401"
,
"required"
:
false
,
"type"
:
"integer"
,
"format"
:
"uint32"
},
"Query.ErabGbrUl"
:
{
"name"
:
"erab_gbr_ul"
,
"in"
:
"query"
,
"description"
:
"Guaranteed uplink E-RAB Bit Rate as defined in ETSI TS 123 401"
,
"required"
:
false
,
"type"
:
"integer"
,
"format"
:
"uint32"
},
"Query.ErabId"
:
{
"name"
:
"erab_id"
,
"in"
:
"query"
,
"description"
:
"E-RAB identifier"
,
"required"
:
false
,
"type"
:
"integer"
,
"format"
:
"uint32"
},
"Query.ErabIdArr"
:
{
"name"
:
"erab_id"
,
"in"
:
"query"
,
"description"
:
"E-RAB identifier"
,
"required"
:
false
,
"type"
:
"array"
,
"items"
:
{
"type"
:
"integer"
,
"format"
:
"uint32"
}
},
"Query.ErabMbrDl"
:
{
"name"
:
"erab_mbr_dl"
,
"in"
:
"query"
,
"description"
:
"Maximum downlink E-RAB Bit Rate as defined in ETSI TS 123 401"
,
"required"
:
false
,
"type"
:
"integer"
,
"format"
:
"uint32"
},
"Query.ErabMbrUl"
:
{
"name"
:
"erab_mbr_ul"
,
"in"
:
"query"
,
"description"
:
"Maximum uplink E-RAB Bit Rate as defined in ETSI TS 123 401"
,
"required"
:
false
,
"type"
:
"integer"
,
"format"
:
"uint32"
},
"Query.Qci"
:
{
"name"
:
"qci"
,
"in"
:
"query"
,
"description"
:
"QoS Class Identifier as defined in ETSI TS 123 401"
,
"required"
:
false
,
"type"
:
"integer"
,
"format"
:
"uint32"
},
"Query.TempUeId"
:
{
"name"
:
"temp_ue_id"
,
"in"
:
"query"
,
"description"
:
"The temporary identifier allocated for the specific UE as defined in ETSI TS 136 413"
,
"required"
:
false
,
"type"
:
"array"
,
"items"
:
{
"type"
:
"string"
}
}
},
"paths"
:
{
"/resources/rab_info"
:
{
"get"
:
{
"description"
:
"Gets information on existing E-RABs that are associated with a specific mobile edge application instance"
,
"operationId"
:
"rab_infoGET"
,
"produces"
:
[
"application/json"
],
"parameters"
:
[
{
"$ref"
:
"#/parameters/Query.AppInsId"
},
{
"$ref"
:
"#/parameters/Query.CellId"
},
{
"$ref"
:
"#/parameters/Query.UeIpv4Address"
},
{
"$ref"
:
"#/parameters/Query.UeIpv6Address"
},
{
"$ref"
:
"#/parameters/Query.NatedIpAddress"
},
{
"$ref"
:
"#/parameters/Query.GtpTeId"
},
{
"$ref"
:
"#/parameters/Query.ErabId"
},
{
"$ref"
:
"#/parameters/Query.Qci"
},
{
"$ref"
:
"#/parameters/Query.ErabMbrDl"
},
{
"$ref"
:
"#/parameters/Query.ErabMbrUl"
},
{
"$ref"
:
"#/parameters/Query.ErabGbrDl"
},
{
"$ref"
:
"#/parameters/Query.ErabGbrUl"
}
],
"responses"
:
{
"200"
:
{
"description"
:
"Successful response to rab_info request"
,
"schema"
:
{
"type"
:
"object"
,
"required"
:
[
"RabInfo"
],
"properties"
:
{
"RabInfo"
:
{
"$ref"
:
"#/definitions/RabInfo"
}
}
},
"examples"
:
{
"application/json"
:
{
"RabInfo"
:
{
"timeStamp"
:
{
"seconds"
:
1577836800
,
"nanoSeconds"
:
0
},
"appInId"
:
"01"
,
"requestId"
:
"01"
,
"cellUserInfo"
:
{
"ecgi"
:
{
"plmn"
:
{
"mcc"
:
"001"
,
"mnc"
:
"01"
},
"cellId"
:
"0x800000A"
},
"ueInfo"
:
{
"associateId"
:
null
,
"type"
:
"1"
,
"value"
:
"192.0.2.0"
,
"erabInfo"
:
{
"erabId"
:
10
},
"erabQosParameters"
:
{
"qci"
:
7
,
"qosInformation"
:
{
"erabMbrDl"
:
10
,
"erabMbrUl"
:
10
,
"erabGbrDl"
:
10
,
"erabGbrUl"
:
10
}
}
}
}
}
}
}
},
"400"
:
{
"description"
:
"Bad Request"
,
"schema"
:
{
"type"
:
"object"
,
"properties"
:
{
"ProblemDetails"
:
{
"$ref"
:
"#/definitions/ProblemDetails"
}
}
}
},
"401"
:
{
"description"
:
"Unauthorized"
,
"schema"
:
{
"type"
:
"object"
,
"properties"
:
{
"ProblemDetails"
:
{
"$ref"
:
"#/definitions/ProblemDetails"
}
}
}
},
"403"
:
{
"description"
:
"Forbidden"
,
"schema"
:
{
"type"
:
"object"
,
"required"
:
[
"ProblemDetails"
],
"properties"
:
{
"ProblemDetails"
:
{
"$ref"
:
"#/definitions/ProblemDetails"
}
}
}
},
"404"
:
{
"description"
:
"Not Found"
,
"schema"
:
{
"type"
:
"object"
,
"properties"
:
{
"ProblemDetails"
:
{
"$ref"
:
"#/definitions/ProblemDetails"
}
}
}
},
"406"
:
{
"description"
:
"Not Acceptable"
,
"schema"
:
{
"type"
:
"object"
,
"properties"
:
{
"ProblemDetails"
:
{
"$ref"
:
"#/definitions/ProblemDetails"
}
}
}
},
"429"
:
{
"description"
:
"Too Many Requests"
,
"schema"
:
{
"type"
:
"object"
,
"properties"
:
{
"ProblemDetails"
:
{