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
Expand all
Show 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
...
...
@@ -3,6 +3,11 @@ 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
This diff is collapsed.
Click to expand it.
ttcn/LibMec/RnisAPI/ttcn/RnisAPI_Templates.ttcn
0 → 100644
View file @
0b3144c7
module
RnisAPI_TypesAndValues
{
// LibMec/RnisAPI
import
from
module
RnisAPI_TypesAndValues
all
;
}
// End of module RnisAPI_TypesAndValues
ttcn/LibMec/RnisAPI/ttcn/RnisAPI_TypesAndValues.ttcn
0 → 100644
View file @
0b3144c7
/**
* @desc The ETSI MEC ISG MEC012 Radio Network Information API described using OpenAPI
* @see http://www.etsi.org/deliver/etsi_gs/MEC/001_099/012/01.01.01_60/gs_mec012v010101p.pdf
*/
module
RnisAPI_TypesAndValues
{
// LibCommon
import
from
LibCommon_BasicTypesAndValues
all
;
/**
* @desc
* @member type_ A URI reference according to IETF RFC 3986 that identifies the problem type
* @member title A short, human-readable summary of the problem type
* @member status The HTTP status code for this occurrence of the problem
* @member detail A human-readable explanation specific to this occurrence of the problem
* @member instance A URI reference that identifies the specific occurrence of the problem
*/
type
record
ProblemDetails
{
universal
charstring
type_
,
universal
charstring
title
,
UInt32
status
,
universal
charstring
detail
,
universal
charstring
instance
}
with
{
variant
(
type_
)
"name as 'type'"
;
}
/**
* @desc
* @member timeStamp
* @member appInsId
* @member ecgi
*/
type
record
PlmnInfo
{
TimeStamp
timeStamp
optional
,
AppInsId
appInsId
,
Ecgi
ecgi
}
type
unsiversal
charstring
AppInsId
;
/**
* @desc
* @member timeStamp
* @member appInsId
* @member requestId
* @member cellUserInfo
*/
type
record
RabInfo
{
TimeStamp
timeStamp
optional
,
AppInsId
appInsId
,
RequestId
requestId
,
CellUserInfo
cellUserInfo
optional
}
/**
* @desc
* @member timeStamp
* @member appInsId
* @member ecgi
*/
type
record
S1BearerInfo
{
TimeStamp
timeStamp
optional
,
S1UeInfo
s1UeInfo
}
/**
* @desc The information on users per cell
* @member tempUeId
* @member associateId
* @member ecgi
* @member s1BearerInfoDetailed
*/
type
record
S1UeInfo
{
TempUeId
tempUeId
,
AssociateId
associateId
optional
,
Ecgi
ecgi
,
S1BearerInfoDetailed
s1BearerInfoDetailed
}
/**
* @desc Information on UEs in the specific cell
* @member erabId The element that uniquely identifies a S1 bearer for a specific UE, as defined in ETSI TS 136 413
* @member s1EnbInfo
* @member sGwInfo
*/
type
record
S1BearerInfoDetailed
{
ErabId
erabId
,
S1EnbInfo
s1EnbInfo
,
SGwInfo
sGwInfo
}
type
UInt32
ErabId
;
/**
* @desc
* @member mmec MMEC as defined in ETSI TS 136 413
* @member mtmsi M-TMSI as defined in ETSI TS 136 413
*/
type
record
TempUeId
{
Mmec
mmec
,
Mtmsi
mtmsi
}
type
universal
charstring
Mmec
;
type
universal
charstring
Mtmsi
;
/**
* @desc
* @member ipAddress eNB transport layer address of this S1 bearer
* @member tunnelId eNB GTP-U TEID of this S1 bearer
*/
type
record
S1EnbInfo
{
universal
charstring
ipAddress
,
universal
charstring
tunnelId
}
/**
* @desc
* @member ipAddress SGW transport layer address of this S1 bearer
* @member tunnelId SGW GTP-U TEID of this S1 bearer
*/
type
record
SGwInfo
{
universal
charstring
ipAddress
,
universal
charstring
tunnelId
}
/**
* @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
}
/**
* @desc Unique identifier for the mobile edge application instance",
*/
type
universal
charstring
AppInsId
;
/**
* @desc Unique identifier allocated by the Mobile Edge application for the Information request
*/
type
universal
charstring
RequestId
;
/**
* @desc The information on users per cell
* @member ecgi
* @member ueInfo
*/
type
record
CellUserInfo
{
Ecgi
ecgi
,
UeInfo
ueInfo
}
/**
* @desc E-UTRAN CelI Global Identifier as defined in 3GPP TS 36.413
* @member ecgi
* @member ueInfo
*/
type
record
Ecgi
{
Plmn
plmn
,
CellId
cellId
}
/**
* @desc E-UTRAN CelI Global Identifier as defined in 3GPP TS 36.413
* @member mcc The Mobile Country Code part of PLMN Identity as defined in 3GPP TS 36.413
* @member mnc The Mobile Network Code part of PLMN Identity as defined in 3GPP TS 36.413
*/
type
record
Plmn
{
universal
charstring
mcc
,
universal
charstring
mnc
}
/**
* @desc The E-UTRAN Cell Identity as a bit string (size (28)), as defined in 3GPP TS 36.413
*/
type
record
of
octetstring
CellId
;
/**
* @desc Information on UEs in the specific cell
* @member associateId
* @member erabInfo
*/
type
record
UeInfo
{
record
of
AssociateId
associateId
optional
,
record
of
ErabQosParameters
erabInfo
}
/**
* @desc Information on UEs in the specific cell
* @member type Numeric value (0-255) corresponding to specified type of identifier
* @member value Value for the identifier
*/
type
record
AssociateId
{
AssociateId_type
type_
,
UInt32
value_
}
with
{
variant
(
type_
)
"name as 'type'"
;
variant
(
value_
)
"name as 'value'"
;
}
/**
* @desc Numeric value (0-255) corresponding to specified type of identifier
*/
type
enumerated
AssociateId_type
{
"RESERVED"
,
"UE_IPV4_ADDRESS"
,
"UE_IPV6_ADDRESS"
,
"NATED_IP_ADDRESS"
,
"GTP_TEID"
}
/**
* @desc
* @member qci QoS Class Identifier as defined in TS 23.401
* @member qci_information
*/
type
record
ErabQosParameters
{
UInt32
qci
,
QosInformation
qci_information
}
/**
* @desc
* @member erabGbrDl This IE indicates the maximum downlink E-RAB Bit Rate as defined in TS 23.401 for this bearer
* @member erabGbrUl This IE indicates the maximum uplink E-RAB Bit Rate as defined in TS 23.401 for this bearer
* @member erabGbrDl This IE indicates the guaranteed downlink E-RAB Bit Rate as defined in TS 23.401 for this bearer
* @member erabMbrUl This IE indicates the guaranteed uplink E-RAB Bit Rate as defined in TS 23.401 for this bearer
*/
type
enumerated
QosInformation
{
"erabGbrDl"
,
"erabGbrUl"
,
"erabMbrDl"
,
"erabMbrUl"
}
/**
* @desc
* @member _links
* @member subscription
*/
type
record
SubscriptionLinkList
{
Link
_links
,
Subscription
subscription
optional
{
}
/**
* @desc
* @member callbackReference
* @member filterCriteria
* @member expiryDeadline
*/
type
record
MeasRepUeSubscriptionPost
{
CallbackReference
callbackReference
,
FilterCriteriaAssocTri
filterCriteria
,
TimeStamp
expiryDeadline
optional
}
/**
* @desc
* @member callbackReference
* @member _links
* @member filterCriteria
* @member expiryDeadline
*/
type
record
MeasRepUeSubscription
{
CallbackReference
callbackReference
,
Link
_links
,
FilterCriteriaAssocTri
filterCriteria
,
TimeStamp
expiryDeadline
optional
}
/**
* @desc
* @member callbackReference
* @member eventType
* @member s1BearerSubscriptionCriteria
* @member expiryDeadline
*/
type
record
S1BearerSubscriptionPost
{
CallbackReference
callbackReference
,
EventType
eventType
,
S1BearerSubscriptionCriteria
s1BearerSubscriptionCriteria
,
TimeStamp
expiryDeadline
optional
}
/**
* @desc
* @member callbackReference
* @member _links
* @member s1BearerSubscriptionCriteria
* @member expiryDeadline
*/
type
record
S1BearerSubscription
{
CallbackReference
callbackReference
,
Link
_links
,
S1BearerSubscriptionCriteria
s1BearerSubscriptionCriteria
,
TimeStamp
expiryDeadline
optional
}
/**
* @desc
* @member callbackReference
* @member _links
* @member filterCriteria
*/
type
record
RabEstSubscription
{
CallbackReference
callbackReference
,
Link
_links
,
FilterCriteriaAssocQci
filterCriteria
}
/**
* @desc
* @member callbackReference
* @member _links
* @member filterCriteria
* @member expiryDeadline
*/
type
record
RabEstSubscriptionPost
{
CallbackReference
callbackReference
,
Link
_links
,
FilterCriteriaAssocQci
filterCriteria
,
TimeStamp
expiryDeadline
optional
}
/**
* @desc
* @member callbackReference
* @member _links
* @member filterCriteria
* @member expiryDeadline
*/
type
record
RabModSubscription
{
CallbackReference
callbackReference
,
Link
_links
,
FilterCriteriaAssocQci
filterCriteria
,
TimeStamp
expiryDeadline
optional
}
/**
* @desc
* @member callbackReference
* @member _links
* @member filterCriteria
* @member expiryDeadline
*/
type
record
RabModSubscriptionPost
{
CallbackReference
callbackReference
,
FilterCriteriaAssocQci
filterCriteria
,
TimeStamp
expiryDeadline
optional
}
/**
* @desc
* @member callbackReference
* @member _links
* @member filterCriteria
* @member expiryDeadline
*/
type
record
RabRelSubscription
{
CallbackReference
callbackReference
,
Link
_links
,
FilterCriteriaAssocQci
filterCriteria
,
TimeStamp
expiryDeadline
optional
}
/**
* @desc
* @member callbackReference
* @member filterCriteria
* @member expiryDeadline
*/
type
record
RabRelSubscriptionPost
{
CallbackReference
callbackReference
,
FilterCriteriaAssocQci
filterCriteria
,
TimeStamp
expiryDeadline
optional
}
/**
* @desc
* @member callbackReference
* @member _links
* @member filterCriteria
* @member expiryDeadline
*/
type
record
CaReConfSubscription
{
CallbackReference
callbackReference
,
Link
_links
,
FilterCriteriaAssoc
filterCriteria
,
TimeStamp
expiryDeadline
optional
}
/**
* @desc
* @member callbackReference
* @member filterCriteria
* @member expiryDeadline
*/
type
record
CaReConfSubscriptionPost
{
CallbackReference
callbackReference
,
FilterCriteriaAssoc
filterCriteria
,
TimeStamp
expiryDeadline
optional
}
/**
* @desc
* @member callbackReference
* @member filterCriteria
* @member expiryDeadline
*/
type
record
CellChangeSubscriptionPost
{
CallbackReference
callbackReference
,
FilterCriteriaAssocHo
filterCriteria
,
TimeStamp
expiryDeadline
optional
}
/**
* @desc
* @member callbackReference
* @member _links
* @member filterCriteria
* @member expiryDeadline
*/
type
record
CellChangeSubscription
{
CallbackReference
callbackReference
,
Link
_links
,
FilterCriteriaAssocHo
filterCriteria
,
TimeStamp
expiryDeadline
optional
}
/**
* @desc
* @member callbackReference
* @member filterCriteria
* @member expiryDeadline
*/
type
record
MeasTaSubscriptionPost
{
CallbackReference
callbackReference
,
FilterCriteriaAssoc
filterCriteria
,
TimeStamp
expiryDeadline
optional
}
/**
* @desc
* @member callbackReference
* @member _links
* @member filterCriteria
* @member expiryDeadline
*/
type
record
MeasTaSubscription
{
CallbackReference
callbackReference
,
Link
_links
,
FilterCriteriaAssocHo
filterCriteria
,
TimeStamp
expiryDeadline
optional
}
/**
* @desc URL selected by the Mobile Edge application to receive notifications on the subscribed RNIS information
*/
type
universal
charstring
CallbackReference
;
/**
* @desc List of hyperlinks related to the resource
* @member self_ URI referring to a resource
*/
type
record
Link
{
LinkType
self_
,
}
/**
* @desc URI referring to a resource
*/
type
universal
charstring
LinkType
;
/**
* @desc A link to a subscription
* @member
* @member
*/
type
record
Subscription
{
LinkTypehref
,
SubscriptionType
subscriptionType
}
/**
* @desc Numeric value corresponding to specified type of subscription
* @member
* @member
* @member
* @member
* @member
* @member
*/
type
enumerated
SubscriptionType
{
"RESERVED"
,
"CELL_CHANGE"
,
"RAB_ESTABLISHMENT"
,
"RAB_MODIFICATION"
,
"RAB_RELEASE"
,
"MEAS_REPORT_UE"
,
"MEAS_TIMING_ADVANCE"
,
"CA_RECONF"
,
"S1_BEARE"
}
/**
* @desc List of filtering criteria for the subscription
* @member appInsId
* @member associateId
* @member plmn
* @member cellId
*/
type
record
FilterCriteriaAssoc
{
AppInsId
appInsId
,
AssociateId
associateId
,
Plmn
plmn
,
CellId
cellId
}
/**
* @desc List of filtering criteria for the subscription
* @member appInsId
* @member associateId
* @member plmn
* @member cellId
* @member qci
*/
type
record
FilterCriteriaAssocQci
{
AppInsId
appInsId
,
AssociateId
associateId
,
Plmn
plmn
,
CellId
cellId
,
Qci
qci
}
/**
* @desc List of filtering criteria for the subscription
* @member appInsId
* @member associateId
* @member plmn
* @member cellId
* @member hoStatus
*/
type
record
FilterCriteriaAssocHo
{
AppInsId
appInsId
,
AssociateId
associateId
,
Plmn
plmn
,
CellId
cellId
,
HoStatus
hoStatus
}
/**
* @desc List of filtering criteria for the subscription
* @member appInsId
* @member associateId
* @member plmn
* @member cellId
* @member trigger
*/
type
record
FilterCriteriaAssocHo
{
AppInsId
appInsId
,
AssociateId
associateId
,
Plmn
plmn
,
CellId
cellId
,
Trigger
trigger_
}
/**
* @desc List of filtering criteria for the subscription
* @member appInsId
* @member associateId
* @member plmn
* @member cellId
* @member trigger
*/
type
record
FilterCriteriaAssocHo
{
AssociateId
associateId
,