Commit 0b3144c7 authored by Yann Garcia's avatar Yann Garcia
Browse files

Add RnisAPI typing

parent a0ce1899
......@@ -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 {
......
......@@ -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
......
This diff is collapsed.
module RnisAPI_TypesAndValues {
// LibMec/RnisAPI
import from module RnisAPI_TypesAndValues all;
} // End of module RnisAPI_TypesAndValues
/**
* @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,