/** * @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 { // JSON import from JSON all; // LibCommon import from LibCommon_BasicTypesAndValues all; /** * @desc Problem Details for HTTP APIs * @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 * @see IETF RFC 7807 Clause 3. The Problem Details JSON Object */ type record ProblemDetails { JSON.String type_, JSON.String title, UInt32 status, JSON.String detail, JSON.String instance } with { variant (type_) "name as 'type'"; } /** * @desc This type represents the information on Mobile Network(s), which a MEC application instance is associated to. * @member timeStamp * @member appInsId * @member ecgi */ type record PlmnInfo { TimeStamp timeStamp optional, AppInsId appInsId, Plmns plmn } /** * @desc This type represents the information on existing E-RABs that are associated with a specific MEC application instance. * @member timeStamp * @member appInsId * @member requestId * @member cellUserInfo */ type record RabInfo { TimeStamp timeStamp optional, AppInsId appInsId, RequestId requestId, CellUserInfo cellUserInfo optional } /** * @desc This type represents the information on S1-U bearer. * @member timeStamp * @member appInsId * @member ecgi */ type record S1BearerInfo { TimeStamp timeStamp optional, S1UeInfo s1UeInfo } /** * @desc This type represents the information on the Layer 2 measurements information from one or more eNBs that are associated with the requested MEC application instance. * @member timestamp Time stamp * @member cellInfo The per cell measurement information * @member cellUEInfo The per cell per UE layer 2 measurements information */ type record L2Meas { TimeStamp timestamp optional, CellInfo cellInfo optional, CellUEInfo cellUEInfo optional } /** * @desc The information on users per cell * @member tempUeId * @member associateId * @member ecgi * @member s1BearerInfoDetailed */ type record S1UeInfo_ { TempUeId tempUeId optional, AssociateId associateId optional, Ecgi ecgi, S1BearerInfoDetailed s1BearerInfoDetailed } type record of S1UeInfo_ S1UeInfo; /** * @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 enbInfo S1 bearer information on eNB side * @member sGwInfo S1 bearer information on GW side */ type record S1BearerInfoDetailed_ { ErabId erabId, S1EnbInfo s1EnbInfo, SGwInfo sGwInfo } type record of S1BearerInfoDetailed_ S1BearerInfoDetailed; 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 record of TempUeId_ TempUeId; type JSON.String Mmec; type JSON.String 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 { JSON.String ipAddress, JSON.String 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 { JSON.String ipAddress, JSON.String 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 JSON.String AppInsId; /** * @desc Unique identifier allocated by the Mobile Edge application for the Information request */ type JSON.String RequestId; /** * @desc The information on users per cell * @member ecgi * @member ueInfo */ type record CellUserInfo_ { Ecgi ecgi, UeInfo ueInfo } type record of CellUserInfo_ CellUserInfo; /** * @desc E-UTRAN CelI Global Identifier as defined in 3GPP TS 36.413 * @member ecgi * @member cellId */ type record Ecgi_ { Plmn plmn, CellId cellId } type record of Ecgi_ Ecgi; /** * @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 { JSON.String mcc, JSON.String mnc } type record of Plmn Plmns; /** * @desc The E-UTRAN Cell Identity as a bit string (size (28)), as defined in 3GPP TS 36.413 */ type JSON.String CellId; /** * @desc Information on UEs in the specific cell * @member associateId * @member erabInfo */ type record UeInfo_ { AssociateId associateId optional, ErabInfo erabInfo } type record of UeInfo_ UeInfo; /** * @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_, JSON.String value_ } with { variant (type_) "name as 'type'"; variant (value_) "name as 'value'"; } type record of AssociateId_ AssociateId; /** * @desc Numeric value (0-255) corresponding to specified type of identifier */ type enumerated AssociateId_type { RESERVED (0), UE_IPV4_ADDRESS (1), UE_IPV6_ADDRESS (2), NATED_IP_ADDRESS (3), GTP_TEID (4) } type record ErabInfo_ { ErabId erabId, ErabQosParameters erabQosParameters } type record of ErabInfo_ ErabInfo; /** * @desc * @member qci QoS Class Identifier as defined in TS 23.401 * @member qci_information */ type record ErabQosParameter { Qci qci, QosInformation qosInformation optional } type record of ErabQosParameter ErabQosParameters; /** * @desc QoS Class Identifier as defined in TS 23.401 */ type UInt32 Qci; /** * @desc The QoS information for the E-RAB * @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 record QosInformation_ { UInt32 erabMbrDl, UInt32 erabMbrUl, UInt32 erabGbrDl, UInt32 erabGbrUl } type record of QosInformation_ QosInformation; type integer UInt100 (0 .. 100) with {variant "unsigned 100 bit"}; /** * @desc The per cell measurement information * @member ecgi E-UTRAN CelI Global Identifier * @member dl_gbr_prb_usage_cell indicates the PRB usage for downlink GBR traffic, as defined in ETSI TS 136 314 [i.11] and ETSI TS 136 423 [i.12]. * @member ul_gbr_prb_usage_cell indicates (in percentage) the PRB usage for uplink GBR traffic, as defined in ETSI TS 136 314 [i.11] and ETSI TS 136 423 [i.12]. * @member dl_nongbr_prb_usage_cell indicates (in percentage) the PRB usage for downlink non-GBR traffic, as defined in ETSI TS 136 314 [i.11] and ETSI TS 136 423 [i.12]. * @member ul_nongbr_prb_usage_cell indicates (in percentage) the PRB usage for uplink non-GBR traffic, as defined in ETSI TS 136 314 [i.11] and ETSI TS 136 423 [i.12]. * @member dl_total_prb_usage_cell indicates (in percentage) the PRB usage for total downlink traffic, as defined in ETSI TS 136 314 [i.11] and ETSI TS 136 423 [i.12]. * @member ul_total_prb_usage_cell indicates (in percentage) the PRB usage for total uplink traffic, as defined in ETSI TS 136 314 [i.11] and ETSI TS 136 423 [i.12]. * @member received_dedicated_preambles_cell indicates (in percentage) the received dedicated preamples, as defined in ETSI TS 136 314 [i.11]. * @member received_randomly_selected_preambles_low_range_cellIt indicates (in percentage) the received randomly selected preambles in the low range, as defined in ETSI TS 136 314 [i.11]. * @member received_randomly_selected_preambles_high_range_cell It indicates (in percentage) the received randomly selected preambles in the high range, as defined in ETSI TS 136 314 [i.11]. * @member number_of_active_ue_dl_gbr_cell It indicates the number of active UEs with downlink GBR traffic, as defined in ETSI TS 136 314 [i.11]. * @member number_of_active_ue_ul_gbr_cell It indicates the number of active UEs with uplink GBR traffic, as defined in ETSI TS 136 314 [i.x]. * @member number_of_active_ue_dl_nongbr_cell It indicates the number of active UEs with downlink non-GBR traffic, as defined in ETSI TS 136 314 [i.11]. * @member number_of_active_ue_ul_nongbr_cell It indicates the number of active UEs with uplink non-GBR traffic, as defined in ETSI TS 136 314 [i.11]. * @member dl_gbr_pdr_cell It indicates the packet discard rate in percentage of the downlink GBR traffic in a cell, as defined in ETSI TS 136 314 [i.x]. * @member ul_gbr_pdr_cell It indicates the packet discard rate in percentage of the uplink GBR traffic in a cell, as defined in ETSI TS 136 314 [i.11]. * @member dl_nongbr_pdr_cell It indicates the packet discard rate in percentage of the downlink non-GBR traffic in a cell, as defined in ETSI TS 136 314 [i.x]. * @member ul_nongbr_pdr_cell It indicates the packet discard rate in percentage of the uplink non-GBR traffic in a cell, as defined in ETSI TS 136 314 [i.11]. */ type record CellInfo_ { Ecgi ecgi optional, UInt100 dl_gbr_prb_usage_cell optional, UInt100 ul_gbr_prb_usage_cell optional, UInt100 dl_nongbr_prb_usage_cell optional, UInt100 ul_nongbr_prb_usage_cell optional, UInt100 dl_total_prb_usage_cell optional, UInt100 ul_total_prb_usage_cell optional, UInt100 received_dedicated_preambles_cell optional, UInt100 received_randomly_selected_preambles_low_range_cell optional, UInt100 received_randomly_selected_preambles_high_range_cell optional, integer number_of_active_ue_dl_gbr_cell optional, integer number_of_active_ue_ul_gbr_cell optional, integer number_of_active_ue_dl_nongbr_cell optional, integer number_of_active_ue_ul_nongbr_cell optional, UInt100 dl_gbr_pdr_cell optional, UInt100 ul_gbr_pdr_cell optional, UInt100 dl_nongbr_pdr_cell optional, UInt100 ul_nongbr_pdr_cell optional } type record of CellInfo_ CellInfo; /** * @desc The per cell measurement information * @member ecgi E-UTRAN CelI Global Identifier * @member associateId Identifier to associate the information for a specific UE or flow. * @member dl_gbr_delay_ue It indicates the packet delay of the downlink GBR traffic of a UE, as defined in ETSI TS 136 314 [i.11]. * @member ul_gbr_delay_ue It indicates the packet delay of the uplink GBR traffic of a UE, as defined in ETSI TS 136 314 [i.11]. * @member dl_nongbr_delay_ue It indicates the packet delay of the downlink non-GBR traffic of a UE, as defined in ETSI TS 136 314 [i.11]. * @member ul_nongbr_delay_ue It indicates the packet delay of the uplink non-GBR traffic of a UE, as defined in ETSI TS 136 314 [i.11]. * @member dl_gbr_pdr_ue It indicates the packet discard rate in percentage of the downlink GBR traffic of a UE, as defined in ETSI TS 136 314 [i.11]. * @member ul_gbr_pdr_ue It indicates the packet discard rate in percentage of the uplink GBR traffic of a UE, as defined in ETSI TS 136 314 [i.11]. * @member dl_nongbr_pdr_ue It indicates the packet discard rate in percentage of the downlink non-GBR traffic of a UE, as defined in ETSI TS 136 314 [i.11]. * @member ul_nongbr_pdr_ue It indicates the packet discard rate in percentage of the uplink non-GBR traffic of a UE, as defined in ETSI TS 136 314 [i.11]. * @member dl_gbr_throughput_ue It indicates the scheduled throughput of the downlink GBR traffic of a UE, as defined in ETSI TS 136 314 [i.11]. * @member ul_gbr_throughput_ue It indicates the scheduled throughput of the uplink GBR traffic of a UE, as defined in ETSI TS 136 314 [i.11]. * @member dl_nongbr_throughput_ue It indicates the scheduled throughput of the downlink non-GBR traffic of a UE, as defined in ETSI TS 136 314 [i.11]. * @member ul_nongbr_throughput_ue It indicates the scheduled throughput of the uplink non-GBR traffic of a UE, as defined in ETSI TS 136 314 [i.11]. * @member dl_gbr_data_volume_ue It indicates the data volume of the downlink GBR traffic of a UE, as defined in ETSI TS 136 314 [i.11]. * @member ul_gbr_data_volume_ue It indicates the data volume of the uplink GBR traffic of a UE, as defined in ETSI TS 136 314 [i.11]. * @member dl_nongbr_data_volume_ue It indicates the data volume of the downlink non-GBR traffic of a UE, as defined in ETSI TS 136 314 [i.11]. * @member ul_nongbr_data_volume_ue It indicates the data volume of the uplink non-GBR traffic of a UE, as defined in ETSI TS 136 314 [i.11]. */ type record CellUEInfo_ { Ecgi ecgi optional, AssociateId associateId, integer dl_gbr_delay_ue optional, integer ul_gbr_delay_ue optional, integer dl_nongbr_delay_ue optional, integer ul_nongbr_delay_ue optional, UInt100 dl_gbr_pdr_ue optional, UInt100 ul_gbr_pdr_ue optional, UInt100 dl_nongbr_pdr_ue optional, UInt100 ul_nongbr_pdr_ue optional, integer dl_gbr_throughput_ue optional, integer ul_gbr_throughput_ue optional, integer dl_nongbr_throughput_ue optional, integer ul_nongbr_throughput_ue optional, integer dl_gbr_data_volume_ue optional, integer ul_gbr_data_volume_ue optional, integer dl_nongbr_data_volume_ue optional, integer ul_nongbr_data_volume_ue optional } type record of CellUEInfo_ CellUEInfo; /** * @desc * @member links * @member subscription */ type record SubscriptionLinkList { Link links, Subscription subscription optional } with { variant (links) "name as '_links'"; } /** * @desc * @member callbackReference * @member links * @member filterCriteria * @member expiryDeadline */ type record MeasRepUeSubscription { SubscriptionType subscriptionType, CallbackReference callbackReference, Link links, FilterCriteriaAssocTri filterCriteria, TimeStamp expiryDeadline optional } with { variant (links) "name as '_links'"; } /** * @desc * @member callbackReference * @member links * @member s1BearerSubscriptionCriteria * @member expiryDeadline */ type record S1BearerSubscription { SubscriptionType subscriptionType, CallbackReference callbackReference, Link links, S1BearerSubscriptionCriteria s1BearerSubscriptionCriteria, TimeStamp expiryDeadline optional } with { variant (links) "name as '_links'"; } /** * @desc * @member callbackReference * @member links * @member filterCriteria */ type record RabEstSubscription { SubscriptionType subscriptionType, CallbackReference callbackReference, Link links, FilterCriteriaAssocQci filterCriteria, TimeStamp expiryDeadline optional } with { variant (links) "name as '_links'"; } /** * @desc * @member callbackReference * @member links * @member filterCriteria * @member expiryDeadline */ type record RabModSubscription { SubscriptionType subscriptionType, CallbackReference callbackReference, Link links, FilterCriteriaAssocQci filterCriteria, TimeStamp expiryDeadline optional } with { variant (links) "name as '_links'"; } /** * @desc * @member callbackReference * @member links * @member filterCriteria * @member expiryDeadline */ type record RabRelSubscription { SubscriptionType subscriptionType, CallbackReference callbackReference, Link links, FilterCriteriaAssocQci filterCriteria, TimeStamp expiryDeadline optional } with { variant (links) "name as '_links'"; } /** * @desc * @member callbackReference * @member links * @member filterCriteria * @member expiryDeadline */ type record CaReConfSubscription { SubscriptionType subscriptionType, CallbackReference callbackReference, Link links, FilterCriteriaAssoc filterCriteria, TimeStamp expiryDeadline optional } with { variant (links) "name as '_links'"; } /** * @desc * @member callbackReference * @member links * @member filterCriteria * @member expiryDeadline */ type record CellChangeSubscription { SubscriptionType subscriptionType, CallbackReference callbackReference, Link links, FilterCriteriaAssocHo filterCriteria, TimeStamp expiryDeadline optional } with { variant (links) "name as '_links'"; } /** * @desc * @member callbackReference * @member links * @member filterCriteria * @member expiryDeadline */ type record MeasTaSubscription { SubscriptionType subscriptionType, CallbackReference callbackReference, Link links, FilterCriteriaAssocHo filterCriteria, TimeStamp expiryDeadline optional } with { variant (links) "name as '_links'"; } /** * @desc URL selected by the Mobile Edge application to receive notifications on the subscribed RNIS information */ type JSON.String CallbackReference; /** * @desc List of hyperlinks related to the resource * @member self_ URI referring to a resource */ type record Link { LinkType self_ } with { variant (self_) "name as 'self'"; } /** * @desc URI referring to a resource */ type JSON.AnyURI LinkType; /** * @desc A link to a subscription * @member * @member */ type record Subscription_ { LinkType href, SubscriptionType subscriptionType } type record of Subscription_ Subscription; /** * @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_BEARER, WRONG_PARAMETER } /** * @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, ErabId erabId, Ecgi ecgi, 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 FilterCriteriaAssocTri { AppInsId appInsId, AssociateId associateId, Plmn plmn, CellId cellId, Trigger trigger_ } with { variant (trigger_) "name as 'trigger'"; } /** * @desc List of filtering criteria for the subscription * @member appInsId * @member associateId * @member plmn * @member cellId * @member trigger */ type record S1BearerSubscriptionCriteria { AssociateId associateId, Plmn plmn, CellId cellId, ErabId erabId } /** * @desc Description of the subscribed to event */ type enumerated HoStatus { RESERVED, IN_PREPARATION, IN_EXECUTION, COMPLETED, REJECTED, CANCELLED } /** * @desc Description of the subscribed event */ type enumerated EventType { RESERVED, S1_BEARER_ESTABLISH, S1_BEARER_MODIFY, S1_BEARER_RELEASE } /** * @desc Unique identifier for the mobile edge application instance */ type enumerated Trigger { NOT_AVAILABLE, PERIODICAL_REPORT_STRONGEST_CELLS, PERIODICAL_REPORT_STRONGEST_CELLS_FOR_SON, PERIODICAL_REPORT_CGI, EVENT_A1, EVENT_A2, EVENT_A3, EVENT_A4, EVENT_A5, EVENT_A6, EVENT_B1, EVENT_B2, EVENT_C1, EVENT_C2, EVENT_W1, EVENT_W2, EVENT_W3 } } with { encode "JSON" } // End of module RnisAPI_TypesAndValues