FlexRAN Protocol Specification
Introduction
This document contains the messages used for the communication protocol between the controller and the eNBs/gNBs. All the messages presented here are defined using the Google Protocol Buffers format so that they can be cross-platform to ease development and experimentation. The same specification can also be translated to ASN format to comply with 3GPP requirements.
config_common.proto
flex_a1_event
A1 event type
Field | Type | Label | Description |
threshold_rsrp | int64 | optional |
RSRP threshold value. |
hysteresis | int64 | optional |
Hysteresis indicating an acceptable range of RSRP fluctuation for which the A1 event is not triggered. |
time_to_trigger | int64 | optional |
Time after which an event will be triggered. |
max_report_cells | int64 | optional |
Maximum number of reporting cells. |
flex_a2_event
A2 event type
Field | Type | Label | Description |
threshold_rsrp | int64 | optional |
RSRP threshold value. |
hysteresis | int64 | optional |
Hysteresis indicating an acceptable range of RSRP fluctuation for which the A1 event is not triggered. |
time_to_trigger | int64 | optional |
Time after which an event will be triggered. |
max_report_cells | int64 | optional |
Maximum number of reporting cells. |
flex_a3_event
A3 event type
Field | Type | Label | Description |
a3_offset | int64 | optional |
A3 event offset. |
report_on_leave | int32 | optional |
Send report when leaving the serving cell. |
hysteresis | int64 | optional |
Hysteresis indicating an acceptable range of RSRP fluctuation for which the A1 event is not triggered. |
time_to_trigger | int64 | optional |
Time after which an event will be triggered. |
max_report_cells | int64 | optional |
Maximum number of reporting cells. |
flex_a4_event
A4 event type
Field | Type | Label | Description |
threshold_rsrp | int64 | optional |
RSRP threshold value. |
hysteresis | int64 | optional |
Hysteresis indicating an acceptable range of RSRP fluctuation for which the A1 event is not triggered. |
time_to_trigger | int64 | optional |
Time after which an event will be triggered. |
max_report_cells | int64 | optional |
Maximum number of reporting cells. |
flex_a5_event
A5 event type
Field | Type | Label | Description |
threshold_rsrp_1 | int64 | optional |
RSRP threshold_1 for serving cell. |
threshold_rsrp_2 | int64 | optional |
RSRP threshold_2 for target/neighboring cells. |
hysteresis | int64 | optional |
Hysteresis indicating an acceptable range of RSRP fluctuation for which the A1 event is not triggered. |
time_to_trigger | int64 | optional |
Time after which an event will be triggered. |
max_report_cells | int64 | optional |
Maximum number of reporting cells. |
flex_cqi_config
Channel quality indicator config message
Field | Type | Label | Description |
cqi_action | flex_setup_release_action | optional |
Indicates if CQI changed or released. One of the FLSRA_* enum values. |
cqi_sched_interval | uint32 | optional |
CQI scheduling interval in SF. |
ri_sched_interval | uint32 | optional |
RI scheduling interval in SF. |
flex_drx_config
Discontinous reception (DRX) config message
Field | Type | Label | Description |
on_duration_timer | uint32 | optional |
Timer in terms of number of SF. See TS 36.321. |
drx_inactivity_timer | uint32 | optional |
Timer in terms of number of SF. See TS 36.321. |
drx_retransmission_timer | uint32 | optional |
Timer in terms of number of SF. See TS 36.321. |
long_drx_cycle | uint32 | optional |
Long DRX Cycle in terms of number of SF. See TS 36.321. |
long_drx_cycle_start_offset | uint32 | optional |
Long DRX cycle offset in terms of number of S. FSee TS 36.321. |
short_drx_cycle | uint32 | optional |
Short DRX clcyel in terms of number of SF. |
drx_short_cycle_timer | uint32 | optional |
Short DRX cycle timer in terms of number of SF. See TS 36.321. |
flex_gummei
globally unique MME identifier used for S1AP cell configuration
Field | Type | Label | Description |
plmn | flex_plmn | optional |
PLMN value. |
mme_group_id | uint32 | optional |
MME group identifier. |
mme_code | uint32 | optional |
MME code. |
flex_lc_config
Logical channel config related structures and enums
Field | Type | Label | Description |
lcid | uint32 | optional |
The logical channel ID. |
lcg | uint32 | optional |
The logical channel group (0..3) the LC is mapped to. |
direction | flex_lc_direction | optional |
The LC direction. One of the FLLCD_* enum values. |
qos_bearer_type | flex_qos_bearer_type | optional |
QoS GBR or NGBR bearer type. One of the FLQBT_* enum values. |
qci | uint32 | optional |
The QCI defined in TS 23.203, coded as defined in TS 36.413. One less than the actual QCI value. |
e_RAB_max_bitrate_UL | uint64 | optional |
In bps, valid only for GBR traffic. |
e_RAB_max_bitrate_DL | uint64 | optional |
In bps, valid only for GBR traffic. |
e_RAB_guaranteed_bitrate_UL | uint64 | optional |
In bps, valid only for GBR traffic. |
e_RAB_guaranteed_bitrate_DL | uint64 | optional |
In bps, valid only for GBR traffic . |
flex_measurement_event
UE Measurement event type
Field | Type | Label | Description |
periodical | flex_per_event | optional |
Periodical event. |
a1 | flex_a1_event | optional |
A1 event: Serving cell becomes better than the threshold. |
a2 | flex_a2_event | optional |
A2 event: Serving cell becomes worse than the threshold. |
a3 | flex_a3_event | optional |
A3 event: Neighboring cell becomes offset better than the serving cell. |
a4 | flex_a4_event | optional |
A4 event: Neighboring cell becomes offset better than the threshold. |
a5 | flex_a5_event | optional |
A5 event: Serving cell becomes worse than the threshold_1 and the Neighboring cell becomes better than the threshold_2. |
flex_measurement_info
UE measurement inforamtion
Field | Type | Label | Description |
offset_freq_serving | int64 | optional |
Arbitrary offset OFS, from TS. |
offset_freq_neighbouring | int64 | optional |
Arbitrary offset OFN. |
cell_individual_offset | int64 | repeated |
Arbitrary offset OCS + OCN. |
filter_coefficient_rsrp | int64 | optional |
Parameter k for exponential moving average calculation coefficient a = 1/2^(k/4) of all measured RSRPs. |
filter_coefficient_rsrq | int64 | optional |
Parameter k for RSRQ filtering. |
event | flex_measurement_event | optional |
Measurement event type. |
flex_per_event
UE periodical measurement flag
Field | Type | Label | Description |
max_report_cells | int64 | optional |
Maximum number of reporting cells. |
flex_plmn
PLMN value
Field | Type | Label | Description |
mcc | uint32 | optional |
Mobile Conuntry Code (MCC). |
mnc | uint32 | optional |
Mobile Network Code (MNC). |
mnc_length | uint32 | optional |
Length of MNC. |
flex_s1ap_mme
S1AP MME information used for S1AP cell configuration
Field | Type | Label | Description |
s1_ip | string | optional |
S1-MME IP of MME. |
name | string | optional |
S1-MME name of MME. |
state | flex_mme_state | optional |
State of the MME. |
served_gummeis | flex_gummei | repeated |
GUMMEIs served by the MME. |
requested_plmns | flex_plmn | repeated |
PLMNs communicated to MME. |
rel_capacity | uint32 | optional |
Relative MME capacity, TS23.401. |
flex_scell_config
Secondary cell config message
Field | Type | Label | Description |
carrier_index | uint32 | optional |
ID of the carrier component. |
scell_index | uint32 | optional |
Index of this Scell (RRC SCellIndex). |
use_ccs | uint32 | optional |
Boolean value. Indicates if cross-carrier scheduling is used by this SCell. |
sched_cell_index | uint32 | optional |
Index of the cell responsible for scheduling this SCell if cross-carrier scheduling is enabled. |
pdsch_start | uint32 | optional |
Starting OFDM symbol of PDSCH data region for this SCell. |
flex_si_config
Cell System information (SI) config
Field | Type | Label | Description |
sfn | uint32 | optional |
System frame number. |
sib1_length | uint32 | optional |
The length of SIB1 in bytes. |
si_window_length | uint32 | optional |
The scheduling window for all SIs in SF. |
si_message | flex_si_message | repeated |
List of SI messages to be sent. The index identifies the type of an SI message, i.e. 0 - SIB1, 1..31 - SIx, 32..63 - PCCH. |
flex_si_message
System information message
Field | Type | Label | Description |
periodicity | uint32 | optional |
Periodicity of SI message in radio frames. |
length | uint32 | optional |
The length of the SI message in bytes. |
flex_slice
Description of a slice, with generic and slice algorithm-specific parameters
Field | Type | Label | Description |
id | uint32 | optional |
Arbitrary ID (there must be a slice 0). |
label | string | optional |
Arbitrary label. |
scheduler | string | optional |
Scheduler to use for this slice. |
static | flex_slice_static | optional |
Static slicing parameters for static algorithm. |
nvs | flex_slice_nvs | optional |
NVS slicing parameters for NVS algorithm. |
flex_slice_dl_ul_config
Configuration of slicing, in UL or DL
Field | Type | Label | Description |
algorithm | flex_slice_algorithm | optional |
The slice algorithm to use. |
slices | flex_slice | repeated |
List of slices. |
scheduler | string | optional |
Scheduler to use if no slicing. |
flex_slice_nvs
NVS slice algorithm parameters
Field | Type | Label | Description |
rate | flex_slice_nvs.nvs_rate | optional |
Rate parameter. |
pct_reserved | float | optional |
Capacity parameter 0 to 1. |
flex_slice_nvs.nvs_rate
NVS slice rate-type parameters
Field | Type | Label | Description |
Mbps_required | float | optional |
The rate reserved for this slice. |
Mbps_reference | float | optional |
The minimum rate that should be achieved when scheduled, translating into minimum quality. |
flex_slice_static
Static slice algorithm parameters
Field | Type | Label | Description |
posLow | uint32 | optional |
Lower (inclusive) end of the slice (DL: RBG, UL: RBG). |
posHigh | uint32 | optional |
Upper (inclusive) end. |
flex_sps_config
Semi-persistent scheduling (SPS) config message
Field | Type | Label | Description |
semi_persistent_sched_interval_UL | uint32 | optional |
SPS UL scheduling interval in SF. |
semi_persistent_sched_interval_DL | uint32 | optional |
SPS DL scheduling interval in SF. |
num_of_conf_sps_proc | uint32 | optional |
Number of SPS HARQ processes. See TS 36.321. |
n1_PUCCH_AN_persistent_element | uint32 | repeated |
See TS36.213. Ignored when config is used, as part of FLPT_SET_UE_CONFIG. |
implicit_release_after | uint32 | optional |
Number of empty transmissions before release of SPS. |
flex_sr_config
Scheduling request config message
Field | Type | Label | Description |
sr_action | flex_setup_release_action | optional |
Indicates if SR config should be changed or released. One of the FLSRA_* enum values. |
sched_interval | uint32 | optional |
SR scheduling interval in SF. |
dsr_trans_max | uint32 | optional |
See TS 36.213. |
flex_ue_capabilities
UE cpability message
Field | Type | Label | Description |
half_duplex | uint32 | optional |
Boolean value. Only half duplex support. FDD operation. |
intra_SF_hopping | uint32 | optional |
Support for intra-subframe hopping. Boolean value. |
type2_sb_1 | uint32 | optional |
Support for type 2 hopping with n_sb > 1. |
ue_category | uint32 | optional |
Indicate the UE category. |
res_alloc_type1 | uint32 | optional |
Boolean value. UE support for resource allocation type 1. |
flex_aperiodic_cqi_report_mode
Aperiodic Channel Quality indicator (CQI) report mode
Name | Number | Description |
FLACRM_RM12 | 0 | |
FLACRM_RM20 | 1 | |
FLACRM_RM22 | 2 | |
FLACRM_RM30 | 3 | |
FLACRM_RM31 | 4 | |
FLACRM_NONE | 5 |
flex_dl_cyclic_prefix_length
Downlink cyclic prefix length type
Name | Number | Description |
FLDCPL_NORMAL | 0 | |
FLDCPL_EXTENDED | 1 |
flex_duplex_mode
Duplexing mode
Name | Number | Description |
FLDM_TDD | 0 | |
FLDM_FDD | 1 |
flex_hopping_mode
Frequency hoopping mod e
Name | Number | Description |
FLHM_INTER | 0 | |
FLHM_INTERINTRA | 1 |
flex_lc_direction
Logical channel direction.
Name | Number | Description |
FLLCD_UL | 0 | |
FLLCD_DL | 1 | |
FLLCD_BOTH | 2 |
flex_meas_gap_config_pattern
Measurement gap config message
Name | Number | Description |
FLMGCP_GP1 | 0 | |
FLMGCP_GP2 | 1 | |
FLMGCP_OFF | 2 |
flex_mme_state
MME connection state with respect to eNB
Name | Number | Description |
FLMMES_DISCONNECTED | 0 | |
FLMMES_WAITING | 1 | |
FLMMES_CONNECTED | 2 | |
FLMMES_OVERLOAD | 3 |
flex_phich_duration
PHICH resource duration
Name | Number | Description |
FLPD_NORMAL | 0 | |
FLPD_EXTENDED | 1 |
flex_phich_resource
PHICH resource indicator
Name | Number | Description |
FLPR_ONE_SIXTH | 0 | |
FLPR_HALF | 1 | |
FLPR_ONE | 2 | |
FLPR_TWO | 3 |
flex_qam
QAM Modulation mode
Name | Number | Description |
FLEQ_MOD_16QAM | 0 | |
FLEQ_MOD_64QAM | 1 |
flex_qos_bearer_type
QoS bearer type: GBR or Non GBR
Name | Number | Description |
FLQBT_NON_GBR | 0 | |
FLQBT_GBR | 1 |
flex_setup_release_action
Name | Number | Description |
FLSRA_SETUP | 0 | |
FLSRA_RELEASE | 1 |
flex_slice_algorithm
Supported MAC slicing algorithms
Name | Number | Description |
None | 0 | |
Static | 1 | |
NVS | 2 |
flex_tdd_ack_nack_feedback_mode
TDD ACK and NACK feedback mode
Name | Number | Description |
FLTANFM_BUNDLING | 0 | |
FLTANFM_MULTIPLEXING | 1 |
flex_ue_state_change_type
UE current state indicator
Name | Number | Description |
FLUESC_UPDATED | 0 | |
FLUESC_ACTIVATED | 1 | |
FLUESC_DEACTIVATED | 2 | |
FLUESC_MOVED | 3 |
flex_ue_transmission_antenna
UE transmission antenna loop type
Name | Number | Description |
FLUTA_NONE | 0 | |
FLUTA_OPEN_LOOP | 1 | |
FLUTA_CLOSED_LOOP | 2 |
flex_ul_cyclic_prefix_length
Uplink cyclic prefix length type
Name | Number | Description |
FLUCPL_NORMAL | 0 | |
FLUCPL_EXTENDED | 1 |
config_messages.proto
flex_cell_config
Cell configuration message
Field | Type | Label | Description |
phy_cell_id | uint32 | optional |
The PCI of this cell. |
pusch_hopping_offset | uint32 | optional |
PUSCH resources in RBs for hopping. |
hopping_mode | flex_hopping_mode | optional |
Frequency hopping mode. One of the FLHM_* enum values. |
n_sb | uint32 | optional |
The number of subbands. |
phich_resource | flex_phich_resource | optional |
The number of REGs used for PHICH. One of the FLPR_* enum values. |
phich_duration | flex_phich_duration | optional |
PHICH duration type. One of the FLPD_* enum values. |
init_nr_PDCCH_OFDM_sym | uint32 | optional |
See TS 36.211, section 6.9. |
si_config | flex_si_config | optional |
The SI configuration. |
dl_bandwidth | uint32 | optional |
The DL transmission bandwidth in RBs. |
ul_bandwidth | uint32 | optional |
The UL transmission bandwidth in RB.s |
ul_cyclic_prefix_length | flex_ul_cyclic_prefix_length | optional |
One of the FLUCPL_* enum values. |
dl_cyclic_prefix_length | flex_dl_cyclic_prefix_length | optional |
One of the FLDCPL_* enum values. |
antenna_ports_count | uint32 | optional |
Number of cell specific antenna ports. |
duplex_mode | flex_duplex_mode | optional |
One of the FLDM_* enum values. |
subframe_assignment | uint32 | optional |
DL/UL subframe assignment. TDD only. |
special_subframe_patterns | uint32 | optional |
TDD only. See TS 36.211, table 4.2.1. |
mbsfn_subframe_config_rfperiod | uint32 | repeated |
The MBSFN radio frame period (Optional). |
mbsfn_subframe_config_rfoffset | uint32 | repeated |
The radio frame offset (Optional). |
mbsfn_subframe_config_sfalloc | uint32 | repeated |
Bitmap indicating the MBSFN subframes (Optional). |
prach_config_index | uint32 | optional |
See TS 36.211, section 5.7.1. |
prach_freq_offset | uint32 | optional |
See TS 36.211, section 5.7.1. |
ra_response_window_size | uint32 | optional |
The duration of the RA response window in SF. |
mac_contention_resolution_timer | uint32 | optional |
Timer for RA. |
max_HARQ_Msg3Tx | uint32 | optional |
See TS 36.321. |
n1PUCCH_AN | uint32 | optional |
See TS 36.213, section 10.1. |
deltaPUCCH_shift | uint32 | optional |
See TS 36.211, section 5.4. |
nRB_cqi | uint32 | optional |
See TS 36.211, section 5.4. |
srs_subframe_config | uint32 | optional |
See TS 36.211, table 5.5.3.3-1 and 2. |
srs_bw_config | uint32 | optional |
See TS 36.211, section 5.5.3.2. |
srs_mac_up_pts | uint32 | optional |
Boolean value. See TS 36.211, section 5.5.3.2. TDD only. |
enable_64QAM | flex_qam | optional |
One of the FLEQ_* enum values. |
carrier_index | uint32 | optional |
Carrier component index. |
dl_freq | uint32 | optional |
Operating downlink frequency. |
ul_freq | uint32 | optional |
Operating uplink frequency. |
eutra_band | uint32 | optional |
Operating band. |
dl_pdsch_power | int32 | optional |
Operating downlink power. |
ul_pusch_power | int32 | optional |
Operating uplink power. |
plmn_id | flex_plmn | repeated |
The PLMN cell ID of this cell. |
slice_config | flex_slice_config | optional |
Slice configuration. |
x2_ho_net_control | bool | optional |
X2 handover control command operated by the network. |
flex_lc_ue_config
UE logical channel configuration message
Field | Type | Label | Description |
rnti | uint32 | optional |
UE Radio Network Temporary Identifier. |
lc_config | flex_lc_config | repeated |
A list of LC configurations for the given UE. |
flex_s1ap_config
S1AP configuration
Field | Type | Label | Description |
pending | uint32 | optional |
Number of pending (to be connected) MMEs. |
connected | uint32 | optional |
Number of connected MMEs. |
enb_s1_ip | string | optional |
S1-MME IP of eNodeB. |
enb_name | string | optional |
S1-MME name of eNodeB. |
mme | flex_s1ap_mme | repeated |
S1-MME name of MME. |
flex_slice_config
Slice configuration message
Field | Type | Label | Description |
dl | flex_slice_dl_ul_config | optional |
Slice configuration in downlink. |
ul | flex_slice_dl_ul_config | optional |
Slice configuration in uplink. |
flex_ue_config
UE configuration message
Field | Type | Label | Description |
rnti | uint32 | optional |
UE Radio Network Temporary Identifier. |
drx_config | flex_drx_config | optional |
The DRX configuration (Optional). |
time_alignment_timer | uint32 | optional |
Timer in SF. Control the synchronization. Status of the UE, not the actual advancement procedure. See TS 36.321. |
meas_gap_config_pattern | flex_meas_gap_config_pattern | optional |
Measurement gap configuration. One of the FLMGCP_* enum values. See TS 36.133. |
meas_gap_config_sf_offset | uint32 | optional |
Measurement gap offset if applicable. |
sps_config | flex_sps_config | optional |
The SPS configuration (Optional). |
sr_config | flex_sr_config | optional |
The SR configuration (Optional). |
cqi_config | flex_cqi_config | optional |
The CQI configuration (Optional). |
transmission_mode | uint32 | optional |
The UE transmission mode. |
ue_aggregated_max_bitrate_UL | uint64 | optional |
Aggregated bit-rate of non-gbr bearer per UE. See TS 36.413. |
ue_aggregated_max_bitrate_DL | uint64 | optional |
Aggregated bit-rate of non-gbr bearer per UE. See TS 36.413. |
capabilities | flex_ue_capabilities | optional |
UE capability information. |
ue_transmission_antenna | flex_ue_transmission_antenna | optional |
One of the FLUTA_* enum values. |
tti_bundling | uint32 | optional |
Boolean value. See TS 36.321. |
max_HARQ_tx | uint32 | optional |
The max HARQ retransmission for UL. |
beta_offset_ACK_index | uint32 | optional |
See TS 36.213. |
beta_offset_RI_index | uint32 | optional |
See TS 36.213. |
beta_offset_CQI_index | uint32 | optional |
See TS 36.213. |
ack_nack_simultaneous_trans | uint32 | optional |
Boolean. See TS 36.213. |
simultaneous_ack_nack_cqi | uint32 | optional |
Boolean. See TS 36.213. |
aperiodic_cqi_rep_mode | flex_aperiodic_cqi_report_mode | optional |
CQI report mode. One of the FLACRM_* enum values. |
tdd_ack_nack_feedback | flex_tdd_ack_nack_feedback_mode | optional |
ACK/NACK feedback mode. One of the FLTANFM_* enum values. |
ack_nack_repetition_factor | uint32 | optional |
See TS 36.213, section 10.1. |
extended_bsr_size | uint32 | optional |
Boolean for extended BSR size. |
ca_support | uint32 | optional |
Boolean. Support for carrier aggregation. |
cross_carrier_sched_support | uint32 | optional |
Boolean value. |
pcell_carrier_index | uint32 | optional |
Index of primary cell. |
scell_config | flex_scell_config | repeated |
Secondary cells configuration. |
scell_deactivation_timer | uint32 | optional |
Deactivation timer for secondary cell. |
imsi | uint64 | optional |
UE International mobile subscriber identity. |
dl_slice_id | uint32 | optional |
Downlink slice identifier. |
ul_slice_id | uint32 | optional |
Uplink slice identifier. |
info | flex_measurement_info | optional |
Configuration of RRC measurements. |
control_delegation.proto
flex_control_delegation_type
Control delegation command or operation
Name | Number | Description |
FLCDT_MAC_DL_UE_SCHEDULER | 1 |
DL UE scheduler delegation. |
controller_commands.proto
flex_dl_broadcast
Body of the paging/broadcast configuration message
Field | Type | Label | Description |
type | flex_broadcast_type | optional |
Broadcast Channel. One of the FLBT_* values. |
index | uint32 | optional |
Index of the broadcast message: 0 - SIB1, 1..31 - Six, 32..63 - PCCH (PCCH index obtained from flex_paging_info). |
broad_dci | flex_dl_dci | optional |
boradcast DCI. |
carrier_index | uint32 | optional |
Index of the carrier for broadcast. |
flex_dl_data
Body of UE DL MAC scheduling configuration info
Field | Type | Label | Description |
rnti | uint32 | optional |
UE Radio Network Temporary Identifier. |
dl_dci | flex_dl_dci | optional |
Downlink DCI. |
ce_bitmap | uint32 | repeated |
List of 2 MAC CEs, one for each TB. |
rlc_pdu | flex_rlc_pdu | repeated |
List of parameters for the creation of RLC PDUs. One for each lcid. |
serv_cell_index | uint32 | optional |
Index of the serving cell. |
act_deact_ce | uint32 | optional |
Hex content of MAC CE for Activation/Deactivation in CA. |
flex_dl_rar
Body of the RAR scheduler configuration
Field | Type | Label | Description |
rnti | uint32 | optional |
UE Radio Network Temporary Identifier. |
grant | uint32 | optional |
The 20-bit UL grant. TS 36.213, sec 6.2. |
rar_dci | flex_dl_dci | optional |
Random access response DCI. |
carrier_index | uint32 | optional |
The carrier index for the RAR. |
flex_pdcch_ofdm_sym_count
Body of the OFDM symbol count message
Field | Type | Label | Description |
carrier_index | uint32 | optional |
Index of frequency carrier. |
num_pdcch_ofdm_symbols | uint32 | optional |
Number of PDCCH OFDM symbols. |
flex_ul_data
Body of UE UL MAC scheduling configuration info
Field | Type | Label | Description |
rnti | uint32 | optional |
UE Radio Network Temporary Identifier. |
ul_dci | flex_ul_dci | optional |
Uplink DCI. |
flex_broadcast_type
Broadcast Channel
Name | Number | Description |
FLBT_BCCH | 0 | |
FLBT_PCCH | 1 |
flexran.proto
flex_agent_reconfiguration
Agent reconfiguration message
Field | Type | Label | Description |
header | flex_header | optional |
FlexRAN protocol message header. |
policy | string | optional |
The policy changes using YAML syntax in string format. |
flex_control_delegation
Control delegation message
Field | Type | Label | Description |
header | flex_header | optional |
FlexRAN protocol message header. |
delegation_type | flex_control_delegation_type | optional |
Bitmap flags indicating control delegation type. One of the FLCDT_* values. |
payload | bytes | optional |
Byte array of shared lib containing the delegated functions. |
name | string | optional |
The delegated function's names ordered based on bitmap flags. |
flex_disconnect
FlexRAN protocol disconnect message
Field | Type | Label | Description |
header | flex_header | optional |
FlexRAN protocol message header |
flex_dl_mac_config
Downlink MAC config message
Field | Type | Label | Description |
header | flex_header | optional |
FlexRAN protocol message header. |
sfn_sf | uint32 | optional |
Combined frame and subframe number. |
dl_ue_data | flex_dl_data | repeated |
Body of UE DL MAC scheduling configuration info. |
dl_rar | flex_dl_rar | repeated |
Body of the RAR scheduler configuration. |
dl_broadcast | flex_dl_broadcast | repeated |
Body of the paging/broadcast configuration. message |
ofdm_sym | flex_pdcch_ofdm_sym_count | repeated |
OFDM symbol count for each CC. |
flex_echo_reply
FlexRAN protocol echo reply message
Field | Type | Label | Description |
header | flex_header | optional |
FlexRAN protocol message header. |
flex_echo_reply_latency
Extensions of the echo reply carrying a latency value in ms
Extension | Type | Base | Number | Description |
latency | uint32 | flex_echo_reply | 100 |
flex_echo_request
FlexRAN protocol echo request message
Field | Type | Label | Description |
header | flex_header | optional |
FlexRAN protocol message header. |
flex_echo_request_latency
Extensions of the echo request RTT latency value in ms
Extension | Type | Base | Number | Description |
latency | uint32 | flex_echo_request | 100 |
flex_enb_config_reply
eNB configuration reply messages
Field | Type | Label | Description |
header | flex_header | optional |
FlexRAN protocol message header. |
eNB_id | uint64 | optional |
Unique ID to distinguish the eNB. |
cell_config | flex_cell_config | repeated |
Cell main configuration parameteres. |
device_spec | uint32 | optional |
Device specific configuration. |
s1ap | flex_s1ap_config | optional |
S1AP configuration. |
flex_enb_config_request
eNB configuration request messages
Field | Type | Label | Description |
header | flex_header | optional |
FlexRAN protocol message header. |
flex_hello
FlexRAN protocol hello message
Field | Type | Label | Description |
header | flex_header | optional |
FlexRAN protocol message header. |
bs_id | uint64 | optional |
Unique ID to distinguish the eNB. |
capabilities | flex_bs_capability | repeated |
BS capabilities. |
splits | flex_bs_split | repeated |
BS functional split option. |
flex_ho_command
RRC handover command
Field | Type | Label | Description |
header | flex_header | optional |
FlexRAN protocol message header. |
rnti | uint32 | optional |
User RNTI. |
target_phy_cell_id | uint32 | optional |
target cell identifier. |
flex_lc_config_reply
UE logical channel configuration reply messages
Field | Type | Label | Description |
header | flex_header | optional |
FlexRAN protocol message header. |
lc_ue_config | flex_lc_ue_config | repeated |
Logical channel configuration information. |
flex_lc_config_request
UE logical channel configuration request messages
Field | Type | Label | Description |
header | flex_header | optional |
FlexRAN protocol message header. |
flex_rrc_triggering
RRC measurement report triggering message
Field | Type | Label | Description |
header | flex_header | optional |
FlexRAN protocol message header. |
rrc_trigger | string | optional |
RRC measurement report triggering message. |
meas_info | flex_measurement_info | optional |
RRC measurement information. |
flex_sf_trigger
subframe indication messages
Field | Type | Label | Description |
header | flex_header | optional |
FlexRAN protocol message header. |
sfn_sf | uint32 | optional |
System frame and subframe number. |
dl_info | flex_dl_info | repeated |
Downlink transmission info. |
ul_info | flex_ul_info | repeated |
Uplink transmission info. |
flex_stats_reply
Statistics reply message
Field | Type | Label | Description |
header | flex_header | optional |
FlexRAN protocol message header. |
ue_report | flex_ue_stats_report | repeated |
UE stats report/reply. |
cell_report | flex_cell_stats_report | repeated |
Cell stats report/reply. |
flex_stats_request
Statistics request message for both cell and UE
Field | Type | Label | Description |
header | flex_header | optional |
FlexRAN protocol message header. |
type | flex_stats_type | optional |
Type of stats to request. |
complete_stats_request | flex_complete_stats_request | optional |
Request eNB/gNB to send a complete stats spanning the entire protocol stack. |
cell_stats_request | flex_cell_stats_request | optional |
Request eNB/gNB to send cell stats spanning the entire protocol stack. |
ue_stats_request | flex_ue_stats_request | optional |
Request eNB/gNB to send UE stats spanning the entire protocol stack. |
flex_ue_config_reply
UE configuration reply messages
Field | Type | Label | Description |
header | flex_header | optional |
FlexRAN protocol message header. |
ue_config | flex_ue_config | repeated |
UE configuration information. |
flex_ue_config_request
UE configuration request messages
Field | Type | Label | Description |
header | flex_header | optional |
FlexRAN protocol message header. |
flex_ue_state_change
UE state change message
Field | Type | Label | Description |
header | flex_header | optional |
FlexRAN protocol message header. |
type | flex_ue_state_change_type | optional |
Bitmap flag indicating current UE state. One of the FLUESC_* values. |
config | flex_ue_config | optional |
Body of the message (based on type). |
flex_ul_mac_config
Uplink MAC config message
Field | Type | Label | Description |
header | flex_header | optional |
FlexRAN protocol message header. |
sfn_sf | uint32 | optional |
Combined frame and subframe number. |
ul_ue_data | flex_ul_data | repeated |
Body of UE UL scheduling info, including DCI (Downlink Control Info). |
flex_ul_sr_info
UE uplink Scheduling request messages (Asynchronous)
Field | Type | Label | Description |
header | flex_header | optional |
FlexRAN protocol message header. |
sfn_sf | uint32 | optional |
System frame and subframe number. |
rnti | uint32 | repeated |
UE RNTI. |
flexran_message
FlexRAN Control protocol Specification describes the communication protocol between the controller and the eNBs/gNBs.
All the messages presented here will also be defined in the Google Protocol Buffers format so that they can be cross-platform to ease development and experimentation.
Field | Type | Label | Description |
msg_dir | flexran_direction | optional |
FlexRAN message direction. |
hello_msg | flex_hello | optional |
FlexRAN protocol hello message. |
echo_request_msg | flex_echo_request | optional |
FlexRAN protocol echo request message. |
echo_reply_msg | flex_echo_reply | optional |
FlexRAN Protocol echo reply message. |
stats_request_msg | flex_stats_request | optional |
eNB/gNB stats request message. |
stats_reply_msg | flex_stats_reply | optional |
eNB/gNB stats reply message. |
sf_trigger_msg | flex_sf_trigger | optional |
eNB/gNB subframe trigger message, sent from RAN agent/runtime to the controller. |
ul_sr_info_msg | flex_ul_sr_info | optional |
eNB/gNB uplink scheduling request info message. |
enb_config_request_msg | flex_enb_config_request | optional |
eNB/gNB config request message. |
enb_config_reply_msg | flex_enb_config_reply | optional |
eNB/gNB config reply message. |
ue_config_request_msg | flex_ue_config_request | optional |
UE config request message. |
ue_config_reply_msg | flex_ue_config_reply | optional |
UE config reply message. |
lc_config_request_msg | flex_lc_config_request | optional |
UE logical channel config request message. |
lc_config_reply_msg | flex_lc_config_reply | optional |
UE logical channel config reply message. |
dl_mac_config_msg | flex_dl_mac_config | optional |
UE MAC config message. |
ue_state_change_msg | flex_ue_state_change | optional |
UE state change message. |
control_delegation_msg | flex_control_delegation | optional |
FlexRAN control delegation message. |
agent_reconfiguration_msg | flex_agent_reconfiguration | optional |
Flexran agent/runtime reconfiguration message. |
rrc_triggering | flex_rrc_triggering | optional |
eNb/gNB RRC measurement triggering messages. |
ul_mac_config_msg | flex_ul_mac_config | optional |
UE uplink MAc config message. |
disconnect_msg | flex_disconnect | optional |
FlexRAN protocol disconnect message. |
ho_command | flex_ho_command | optional |
FlexRAN handover command. |
flex_bs_capability
BS capabilities in terms of functional split. Maintenance and discovery related messages.
Name | Number | Description |
LOPHY | 0 |
Low phy layer |
HIPHY | 1 |
High phy layer |
LOMAC | 2 |
Low mac layer |
HIMAC | 3 |
High mac layer |
RLC | 4 |
RLC layer |
PDCP | 5 |
PDCP layer |
SDAP | 6 |
SDAP layer |
RRC | 7 |
RRC layer |
S1AP | 8 |
S1AP layer |
flex_bs_split
BS functional split. Maintenance and discovery related messages.
Name | Number | Description |
F1 | 0 |
IF1/ F1 split, CU(PDCP/RRC) and DU(RLC/MAC/PHY). |
nFAPI | 1 |
NFAPI split specified by small-cell forum, MAC-PHY layer split. |
IF4 | 2 |
Resource element mapping split. |
IF4p5 | 3 |
Frequency-domain split. |
IF5 | 4 |
Split of PHY and RF/RRH, equivalent to 3GPP option 8 split. |
flexran_direction
FlexRAN protocol message direction
Name | Number | Description |
NOT_SET | 0 |
Option allow_alias = true; Indicates unknown/unset value. |
INITIATING_MESSAGE | 1 |
Indicates the first message from the sender. |
SUCCESSFUL_OUTCOME | 2 |
Indicates a successful reception of the message by the receiver. |
UNSUCCESSFUL_OUTCOME | 3 |
Indicates an unsuccessful reception of the message by the receiver. |
flexran_err
FlexRAN message error types
Name | Number | Description |
NO_ERR | 0 |
option allow_alias = true; |
MSG_DEQUEUING | -1 | |
MSG_ENQUEUING | -2 | |
MSG_DECODING | -3 | |
MSG_ENCODING | -4 | |
MSG_BUILD | -5 | |
MSG_NOT_SUPPORTED | -6 | |
MSG_NOT_HANDLED | -7 | |
MSG_NOT_VALIDATED | -8 | |
MSG_OUT_DATED | -9 | |
UNEXPECTED | -100 |
other erros |
header.proto
flex_header
FlexRAN protocol message header
Field | Type | Label | Description |
version | uint32 | optional |
The protocol version used. |
type | uint32 | optional |
The type of the PR message. |
xid | uint32 | optional |
Transaction ID to facilitate pairing between req and reply. |
flex_type
FlexRAN protocol message type
Name | Number | Description |
FLPT_HELLO | 0 |
Discovery and maintenance messages. |
FLPT_ECHO_REQUEST | 1 |
Discovery and maintenance messages. |
FLPT_ECHO_REPLY | 2 |
Discovery and maintenance messages. |
FLPT_DISCONNECT | 20 |
Discovery and maintenance messages. |
FLPT_STATS_REQUEST | 3 |
Statistics and measurement messages. |
FLPT_STATS_REPLY | 4 |
Statistics and measurement messages. |
FLPT_SF_TRIGGER | 5 |
Time indication messages. |
FLPT_UL_SR_INFO | 6 |
Asynchronous messages. |
FLPT_GET_ENB_CONFIG_REQUEST | 7 |
eNB configuration messages. |
FLPT_GET_ENB_CONFIG_REPLY | 8 |
eNB configuration messages. |
FLPT_GET_UE_CONFIG_REQUEST | 9 |
eNB configuration messages. |
FLPT_GET_UE_CONFIG_REPLY | 10 |
eNB configuration messages. |
FLPT_GET_LC_CONFIG_REQUEST | 11 |
eNB configuration messages. |
FLPT_GET_LC_CONFIG_REPLY | 12 |
eNB configuration messages. |
FLPT_DL_MAC_CONFIG | 13 |
Controller command messages. |
FLPT_UE_STATE_CHANGE | 14 |
UE state change messages. |
FLPT_DELEGATE_CONTROL | 15 |
Control delegation messages. |
FLPT_RECONFIGURE_AGENT | 16 |
Agent/runtime reconfiguration message. |
FLPT_RRC_TRIGGERING | 17 |
RRC measurement report reconfiguration. |
FLPT_UL_MAC_CONFIG | 18 |
MAC uplink configuration. |
FLPT_HO_COMMAND | 21 |
Handover command. |
mac_primitives.proto
flex_dl_dci
Message containing the downlink DCI info
Field | Type | Label | Description |
rnti | uint32 | optional |
UE Radio Network Temporary Identifier. |
res_alloc | uint32 | optional |
Type of resource allocation. |
rb_bitmap | uint32 | optional |
Bitmap for RB allocation. |
rb_shift | uint32 | optional |
See TS 36.214, section 7.1.6.2. |
tbs_size | uint32 | repeated |
The size of each TBS. |
mcs | uint32 | repeated |
The MCS of each TB. |
ndi | uint32 | repeated |
New data indicator of each TB. |
rv | uint32 | repeated |
Redundancy version of each TB. |
cce_index | uint32 | optional |
Control Channel Element (CCE) index used to send the DCI. |
aggr_level | uint32 | optional |
Aggregation level of CCE. |
precoding_info | uint32 | optional |
2 antenna ports:0..6, |
format | flex_dci_format | optional |
4 antenna ports:0..50. DCI format. A FLDCIF_* value. |
tpc | uint32 | optional |
TS 36.213, sec 5.1.1.1. |
harq_process | uint32 | optional |
HARQ process ID. |
dai | uint32 | optional |
TDD only. |
vrb_format | flex_vrb_format | optional |
VRB formar. One of the FLVRBF_* values. |
tb_swap | uint32 | optional |
Boolean. TB to codeword swap flag. |
sps_release | uint32 | optional |
Flag value. |
pdcch_order | uint32 | optional |
Physical Downlink Control Channel order. |
preamble_index | uint32 | optional |
Only valid if pdcch_order = 1. |
prach_mask_index | uint32 | optional |
Only valid if pdcch_order = 1. |
n_gap | flex_ngap_val | optional |
One of the FLNGV_* values. |
tbs_idx | uint32 | optional |
The TBS index for Format 1A. |
dl_power_offset | uint32 | optional |
For format 1D. |
pdcch_power_offset | uint32 | optional |
DL PDCCH power boosting in dB. |
cif_present | uint32 | optional |
Boolean. Indication of CIF field. |
cif | uint32 | optional |
CIF for cross-carrier scheduling. |
flex_rlc_pdu
Messages related to the creation of RLC PDUs
Field | Type | Label | Description |
rlc_pdu_tb | flex_rlc_pdu_tb | repeated |
List of parameters for the creation of RLC PDUs. One for each TB. |
flex_rlc_pdu_tb
Messages related to the size of RLC PDUs
Field | Type | Label | Description |
logical_channel_id | uint32 | optional |
Logical channel identifier. |
size | uint32 | optional |
Maximum RLC PDU to be created in bytes. |
flex_ul_dci
Message containing the uplink DCI info
Field | Type | Label | Description |
rnti | uint32 | optional |
UE Radio Network Temporary Identifier. |
rb_start | uint32 | optional |
The start RB allocated to the UE. |
rb_len | uint32 | optional |
The number of RBs allocated to the UE. |
mcs | uint32 | optional |
Modulation and coding scheme. |
cyclic_shift2 | uint32 | optional |
Match DCI format 0/4 PDU. |
freq_hop_flag | uint32 | optional |
0 no hopping, 1 hoppping. |
freq_hop_map | uint32 | optional |
Frequency hopping bits (0..4). |
ndi | uint32 | optional |
New data indicator. |
rv | uint32 | optional |
Redundancy version. |
harq_pid | uint32 | optional |
The harq process ID. |
ultx_mode | uint32 | optional |
Uplink transmission mode. Not used. A FLULM_* value. |
tbs_size | uint32 | optional |
The size of each TBS. |
n_srs | uint32 | optional |
Overlap indication with srs. |
res_alloc | uint32 | optional |
Type of resource allocation. |
size | uint32 | optional |
Size of the ULSCH PDU in bytes for UL Grant. |
dai | uint32 | optional |
TDD only. |
flex_dci_format
MAC Downlink Control Information (DCI ) formats
Name | Number | Description |
FLDCIF_1 | 0 | |
FLDCIF_1A | 1 | |
FLDCIF_1B | 2 | |
FLDCIF_1C | 3 | |
FLDCIF_1D | 4 | |
FLDCIF_2 | 5 | |
FLDCIF_2A | 6 | |
FLDCIF_2B | 7 | |
FLDCIF_3 | 8 | |
FLDCIF_3A | 9 |
flex_ngap_val
GAP value
Name | Number | Description |
FLNGV_1 | 0 | |
FLNGV_2 | 1 |
flex_vrb_format
MAC virtual resource block formats
Name | Number | Description |
FLVRBF_LOCALIZED | 0 | |
FLVRBF_DISTRIBUTED | 1 |
stats_common.proto
flex_cell_global_eutra_id
RRC Cell Global Identity message
Field | Type | Label | Description |
plmn | flex_plmn | optional |
Public land mobile network identifier of neighbor cell. |
cell_id | uint32 | optional |
Cell identifier of neighbor cell. |
flex_csi_a12
CSI type A12
Field | Type | Label | Description |
wb_cqi | uint32 | repeated |
Wideband channel quality indicator. |
sb_pmi | uint32 | repeated |
Subband precoding matrix indicator. |
flex_csi_a20
CSI type A20
Field | Type | Label | Description |
wb_cqi | uint32 | optional |
Wideband channel quality indicator. |
sb_cqi | uint32 | optional |
Subband channel quality indicator. |
sb_list | uint32 | repeated |
Subband list. |
flex_csi_a22
CSI type A22
Field | Type | Label | Description |
wb_cqi | uint32 | repeated |
Wideband channel quality indicator. |
sb_cqi | uint32 | repeated |
Subband channel quality indicator. |
wb_pmi | uint32 | optional |
Wideband precoding matrix indicator. |
sb_pmi | uint32 | optional |
Wideband precoding matrix indicator. |
sb_list | uint32 | repeated |
Wubband list. |
flex_csi_a30
CSI type A30
Field | Type | Label | Description |
wb_cqi | uint32 | optional |
Wideband channel quality indicator. |
sb_cqi | uint32 | repeated |
Subband channel quality indicator. |
flex_csi_a31
CSI type A31
Field | Type | Label | Description |
wb_cqi | uint32 | repeated |
Wideband channel quality indicator. |
sb_cqi | flex_msb_cqi | repeated |
Subband channel quality indicator. |
wb_pmi | uint32 | optional |
Wideband precoding matrix indicator. |
flex_csi_p10
CSI type P10
Field | Type | Label | Description |
wb_cqi | uint32 | optional |
Wideband channel quality indicator (CQI). |
flex_csi_p11
CSI type P11
Field | Type | Label | Description |
wb_cqi | uint32 | repeated |
Wideband channel quality indicator. |
wb_pmi | uint32 | optional |
Wideband precoding matrix indicator. |
flex_csi_p20
CSI type P20
Field | Type | Label | Description |
wb_cqi | uint32 | optional |
Wideband channel quality indicator. |
sb_cqi | uint32 | optional |
Subband channel quality indicator. |
bandwidth_part_index | uint32 | optional |
Bandwidth part index. |
sb_index | uint32 | optional |
Subband index. |
flex_csi_p21
CSI type P21
Field | Type | Label | Description |
wb_cqi | uint32 | repeated |
Wideband channel quality indicator. |
wb_pmi | uint32 | optional |
Wideband precoding matrix indicator. |
sb_cqi | uint32 | repeated |
Subband channel quality indicator. |
badwidth_part_index | uint32 | optional |
Bandwidth part index. |
sb_index | uint32 | optional |
Subband index. |
flex_dl_cqi_report
The full DL CQI report for all CC of a UE
Field | Type | Label | Description |
sfn_sn | uint32 | optional |
Combined frame and subframe number. |
csi_report | flex_dl_csi | repeated |
Channel Status Information report. |
flex_dl_csi
The CSI report of the UE for a specific servCellIndex
Field | Type | Label | Description |
serv_cell_index | uint32 | optional |
Serving cell index. |
ri | uint32 | optional |
Rank indicator. |
type | flex_csi_type | optional |
Channel Status Information. |
p10csi | flex_csi_p10 | optional |
|
p11csi | flex_csi_p11 | optional |
|
p20csi | flex_csi_p20 | optional |
|
p21csi | flex_csi_p21 | optional |
|
a12csi | flex_csi_a12 | optional |
|
a22csi | flex_csi_a22 | optional |
|
a20csi | flex_csi_a20 | optional |
|
a30csi | flex_csi_a30 | optional |
|
a31csi | flex_csi_a31 | optional |
|
flex_eutra_cgi_measurements
RRC EUTRA Cell Global Identity (CGI) measurements message
Field | Type | Label | Description |
cgi | flex_cell_global_eutra_id | optional |
EUTRA Cell Global Identity (CGI). |
tracking_area_code | uint32 | optional |
Tracking area code of the neighbor cell. |
plmn | flex_plmn | repeated |
Public land mobile network identifiers of neighbor cell. |
flex_eutra_measurements
RRC EURTA measurements message
Field | Type | Label | Description |
phys_cell_id | int32 | optional |
Physical Cell identifier. |
cgi_meas | flex_eutra_cgi_measurements | optional |
EUTRA Cell Global Identity (CGI) measurement. |
meas_result | flex_eutra_ref_signal_meas | optional |
EUTRA nearby cell reference signal measurement. |
flex_eutra_ref_signal_meas
EUTR reference signal measurements
Field | Type | Label | Description |
rsrp | int32 | optional |
Neighboring Cell RSRP. |
rsrq | int32 | optional |
Neighboring Cell RSRQ. |
flex_gtp_stats
GTP stats
Field | Type | Label | Description |
e_rab_id | uint32 | optional |
Radio bearer identifier associated with this GTP connection. |
teid_enb | uint32 | optional |
Tunnel-endpoint identifier at eNB. |
addr_enb | string | optional |
IP address of eNB. |
teid_sgw | uint32 | optional |
Tunnel-endpoint identifier at SGW. |
addr_sgw | string | optional |
IP address of SGW. |
flex_mac_sdus_dl
MAC SDU information
Field | Type | Label | Description |
sdu_length | uint32 | optional |
SDU length. |
lcid | uint32 | optional |
Logical channel identifier. |
flex_mac_stats
MAC scheduling stats
Field | Type | Label | Description |
tbs_dl | uint32 | optional |
Current downlink transport block size. |
tbs_ul | uint32 | optional |
Current uplink transport block size. |
prb_retx_dl | uint32 | optional |
Current physical resource block used for retransmission in downlink. |
prb_retx_ul | uint32 | optional |
Current physical resource block used for retransmission in uplink. |
prb_dl | uint32 | optional |
Current physical resource block used for new transmission in downlink. |
prb_ul | uint32 | optional |
Current physical resource block used for new transmission in uplink. |
mcs1_dl | uint32 | optional |
Current downlink MCS before rate mactching. |
mcs2_dl | uint32 | optional |
Current downlink MCS after rate mactching. |
mcs1_ul | uint32 | optional |
Current uplink MCS before rate mactching. |
mcs2_ul | uint32 | optional |
Current uplink MCS after rate mactching. |
total_bytes_sdus_ul | uint32 | optional |
Total bytes of uplink SDU size. |
total_bytes_sdus_dl | uint32 | optional |
Total bytes of downlink SDU size. |
total_prb_retx_dl | uint32 | optional |
Total bytes of downlink SDU size for retransmission. |
total_prb_retx_ul | uint32 | optional |
Total bytes of uplink SDU size for retransmission. |
total_prb_dl | uint32 | optional |
Total physical resource block used in downlink. |
total_prb_ul | uint32 | optional |
Total physical resource block used in uplink. |
total_pdu_dl | uint32 | optional |
Total transmitted PDUs in downlink. |
total_pdu_ul | uint32 | optional |
Total transmitted PDUs in uplink. |
total_tbs_dl | uint32 | optional |
Total transport block size in downlink. |
total_tbs_ul | uint32 | optional |
Total transport block size in uplink. |
mac_sdus_dl | flex_mac_sdus_dl | repeated |
MAC SDU information. |
harq_round | uint32 | optional |
HARQ round . |
flex_msb_cqi
The CQI for the M-preffered subband
Field | Type | Label | Description |
sb_cqi | uint32 | repeated |
Subband channel quality indicator. |
flex_neigh_cells_measurements
RRC neighboring cell measurements message
Field | Type | Label | Description |
eutra_meas | flex_eutra_measurements | repeated |
Neighboring EUTRA cells measurements. |
flex_noise_interference_report
UL noise and interference report for a UE
Field | Type | Label | Description |
sfn_sf | uint32 | optional |
Combined frame and subframe number. |
rip | uint32 | optional |
Received Interference Power. |
tnp | uint32 | optional |
Thermal Noise Power. |
p0_nominal_pucch | int32 | optional |
Nominal power in PUCCH. |
flex_paging_buffer_report
Report for the paging buffer status
Field | Type | Label | Description |
paging_info | flex_paging_info | repeated |
Paging information. |
flex_paging_info
Paging message info
Field | Type | Label | Description |
paging_index | uint32 | optional |
Paging index. |
paging_message_size | uint32 | optional |
Paging message size. |
paging_subframe | uint32 | optional |
Subframe number during which the paging message has been sent. |
carrier_index | uint32 | optional |
Frequency carrier index. |
flex_pdcp_stats
PDCP Statistics
Field | Type | Label | Description |
pkt_tx | uint32 | optional |
Number of the transmitted packets. |
pkt_tx_bytes | uint32 | optional |
Total bytes of the transmitted packets. |
pkt_tx_sn | uint32 | optional |
Sequence number of the last transmit packet. |
pkt_tx_w | uint32 | optional |
Number of transmitted packets within a window. |
pkt_tx_bytes_w | uint32 | optional |
Total bytes of transmitted packets within a window. |
pkt_tx_aiat | uint32 | optional |
Aggregated inter-arrival time of the transmitted packets. |
pkt_tx_aiat_w | uint32 | optional |
Aggregated inter-arrival time of the transmitted packets within a window. |
pkt_rx | uint32 | optional |
Number of the received packets. |
pkt_rx_bytes | uint32 | optional |
Total bytes of the received packets. |
pkt_rx_sn | uint32 | optional |
Sequence number of the last received packet. |
pkt_rx_w | uint32 | optional |
Number of the received packets within a window. |
pkt_rx_bytes_w | uint32 | optional |
Total bytes of the received packets within a window. |
pkt_rx_aiat | uint32 | optional |
Aggregated inter-arrival time of the received packets. |
pkt_rx_aiat_w | uint32 | optional |
Aggregated inter-arrival time of the received packets within a window. |
pkt_rx_oo | uint32 | optional |
Number of the out-of-ordered received packets. |
sfn | uint64 | optional |
Frame number |
flex_plmn_identity
Public land mobile network identifier (PLMN)
Field | Type | Label | Description |
mnc | uint32 | repeated |
Mobile Network Code (MNC). |
mcc | uint32 | repeated |
Mobile Country Code (MCC). |
tac | uint32 | repeated |
Tracking area code . |
flex_pucch_dbm
Physicall uplink control channel information
Field | Type | Label | Description |
p0_pucch_dbm | int32 | optional |
Power in dbm in PUCCH. |
serv_cell_index | uint32 | optional |
Serving cell index. |
p0_pucch_updated | uint32 | optional |
Updated power in dbm in PUCCH. |
flex_rlc_bsr
RLC buffer status for a specific logical channel of a UE
Field | Type | Label | Description |
lc_id | uint32 | optional |
Logical channel identifier both SRBs and DRBs. |
tx_queue_size | uint32 | optional |
Transmission queue size of RLC. |
tx_queue_hol_delay | uint32 | optional |
Transmission queue head-of-line delay (waiting time). |
retransmission_queue_size | uint32 | optional |
Retransmission queue size. |
retransmission_queue_hol_delay | uint32 | optional |
Retransmission queue head-of-line delay (waiting time). |
status_pdu_size | uint32 | optional |
Size of of the (remaining) PDU. |
flex_rrc_measurements
RRC Measurements Primitives
Field | Type | Label | Description |
measid | int32 | optional |
Measurement identifier. |
pcell_rsrp | int32 | optional |
Primary Cell Reference Signal Received Power (RSRP). |
pcell_rsrq | int32 | optional |
Primary Cell Reference Signal Received Quality (RSRQ). |
neigh_meas | flex_neigh_cells_measurements | optional |
Neighboring cells measurements performed by UE. |
flex_s1ap_ue
S1AP stats
Field | Type | Label | Description |
mme_s1_ip | string | optional |
IP of MME to which UE is connected. |
enb_ue_s1ap_id | uint32 | optional |
S1AP ID on eNodeB side for UE. |
mme_ue_s1ap_id | uint32 | optional |
S1AP ID on MME side for UE. |
selected_plmn | flex_plmn | optional |
UE-selected PLMN in RRC Conn Setup Cplt. |
flex_ul_cqi
UL CQI report for a specific UE for a given report type
Field | Type | Label | Description |
type | flex_ul_cqi_type | optional |
Uplink channel quality information type. |
sinr | uint32 | repeated |
Signal to interference noice ratio. |
serv_cell_index | uint32 | optional |
Serving cell index. |
flex_ul_cqi_report
Full UL CQI report for a specific UE
Field | Type | Label | Description |
sfn_sn | uint32 | optional |
Combined frame and subframe number. |
cqi_meas | flex_ul_cqi | repeated |
Uplink channel quality indicator. |
pucch_dbm | flex_pucch_dbm | repeated |
PUCCH power in dbm. |
flex_ce_type
Flags for MAC Control Elements
Name | Number | Description |
FLPCET_TA | 1 | |
FLPCET_DRX | 2 | |
FLPCET_CR | 4 | |
FLPCET_CA | 8 |
flex_csi_type
Types of DL CSI reports
Name | Number | Description |
FLCSIT_P10 | 0 | |
FLCSIT_P11 | 1 | |
FLCSIT_P20 | 2 | |
FLCSIT_P21 | 3 | |
FLCSIT_A12 | 4 | |
FLCSIT_A22 | 5 | |
FLCSIT_A20 | 6 | |
FLCSIT_A30 | 7 | |
FLCSIT_A31 | 8 |
flex_ul_cqi_type
The type of UL CQI
Name | Number | Description |
FLUCT_SRS | 0 | |
FLUCT_PUSCH | 1 | |
FLUCT_PUCCH_1 | 2 | |
FLUCT_PUCCH_2 | 3 | |
FLUCT_PRACH | 4 |
stats_messages.proto
flex_cell_stats_report
The full statistics report for a specific cell
Field | Type | Label | Description |
carrier_index | uint32 | optional |
eNB carrier index. |
flags | flex_cell_stats_type | optional |
Cell stats type. One of FLCST_*. |
noise_inter_report | flex_noise_interference_report | optional |
Cell noise to interference report. |
flex_cell_stats_request
cell stats request
Field | Type | Label | Description |
cell | uint32 | repeated |
ID of the eNB/gNB. |
flags | flex_cell_stats_type | optional |
Cell stats type. One of FLCST_*. |
flex_complete_stats_request
Bodies of statistics report requests
Field | Type | Label | Description |
report_frequency | flex_stats_report_freq | optional |
Stats report frequency. |
sf | uint32 | optional |
Subframe number. |
cell_report_flags | uint32 | optional |
Flag to request cell report. |
ue_report_flags | uint32 | optional |
Flag to request UE report. |
cell_reports | flex_cell_stats_type | repeated |
Cell status type/flag used for representational purposes at the northbound of the controller. |
ue_reports | flex_ue_stats_type | repeated |
UE status type/flag used for representational purposes at the northbound of the controller. |
flex_complete_stats_request_repeated
Request complete state, northbound interface-related message
Field | Type | Label | Description |
reports | flex_complete_stats_request | repeated |
|
flex_ue_stats_report
Statistics report for a specific UE
Field | Type | Label | Description |
rnti | uint32 | optional |
UE Radio Network Temporary Identifier. |
flags | uint32 | optional |
UE stats type. One of FLUST_*. |
bsr | uint32 | repeated |
UE buffer status report. |
phr | uint32 | optional |
UE power headroom. |
rlc_report | flex_rlc_bsr | repeated |
UE RLC report. |
pending_mac_ces | uint32 | optional |
UE pendinf MAC control elements. |
dl_cqi_report | flex_dl_cqi_report | optional |
UE downlink CQI report. |
pbr | flex_paging_buffer_report | optional |
UE paging buffer report. |
ul_cqi_report | flex_ul_cqi_report | optional |
UE uplink CQI report. |
rrc_measurements | flex_rrc_measurements | optional |
UE RRC measurements. |
pdcp_stats | flex_pdcp_stats | optional |
PDCP stats. |
mac_stats | flex_mac_stats | optional |
MAC stats. |
gtp_stats | flex_gtp_stats | repeated |
GTP stats. |
s1ap_stats | flex_s1ap_ue | optional |
S1AP stats. |
flex_ue_stats_request
UE stats request
Field | Type | Label | Description |
rnti | uint32 | repeated |
UE Radio Network Temporary Identifier. |
flags | flex_ue_stats_type | optional |
UE stats type. One of FLUST_*. |
flex_cell_stats_type
Flags for cell statistics
Name | Number | Description |
FLCST_NOISE_INTERFERENCE | 1 |
flex_stats_report_freq
Report frequency for the requested statistics
Name | Number | Description |
FLSRF_ONCE | 0 | |
FLSRF_PERIODICAL | 1 | |
FLSRF_CONTINUOUS | 2 | |
FLSRF_OFF | 3 |
flex_stats_type
Types of statistics requested by the controller
Name | Number | Description |
FLST_COMPLETE_STATS | 0 | |
FLST_CELL_STATS | 1 | |
FLST_UE_STATS | 2 |
flex_ue_stats_type
Flags for UE-related statistics
Name | Number | Description |
FLUST_BSR | 1 | |
FLUST_PHR | 2 | |
FLUST_RLC_BS | 4 | |
FLUST_MAC_CE_BS | 8 | |
FLUST_DL_CQI | 16 | |
FLUST_PBS | 32 | |
FLUST_UL_CQI | 64 | |
FLUST_MAC_STATS | 128 | |
FLUST_PDCP_STATS | 1024 | |
FLUST_GTP_STATS | 2048 | |
FLUST_S1AP_STATS | 4096 | |
FLUST_RRC_MEASUREMENTS | 65536 |
To be extended with more types of stats |
time_common.proto
flex_dl_info
Downlink transmission info
Field | Type | Label | Description |
rnti | uint32 | optional |
UE Radio Network Temporary Identifier. |
harq_process_id | uint32 | optional |
Process identifier of HARQ. |
harq_status | uint32 | repeated |
HARQ status. |
serv_cell_index | uint32 | optional |
Serving cell index. |
flex_ul_info
Uplink transmission info
Field | Type | Label | Description |
rnti | uint32 | optional |
UE Radio Network Temporary Identifier. |
ul_reception | uint32 | repeated |
Uplink reeption info. |
reception_status | uint32 | optional |
Uplink reception status. |
tpc | uint32 | optional |
Transmit power control info. |
serv_cell_index | uint32 | optional |
Serving cell index. |
rssi | uint32 | optional |
Received signal strength indicator. |
flex_harq_status
HARQ status message
Name | Number | Description |
FLHS_ACK | 0 | |
FLHS_NACK | 1 | |
FLHS_DTX | 2 |
flex_reception_status
Packet reception status
Name | Number | Description |
FLRS_OK | 0 | |
FLRS_NOT_OK | 1 | |
FLRS_NOT_VALID | 2 |
Scalar Value Types
Top Top.proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby |
double | double | double | float | float64 | double | float | Float | |
float | float | float | float | float32 | float | float | Float | |
int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | int64 | long | integer/string | Bignum |
uint32 | Uses variable-length encoding. | uint32 | int | int/long | uint32 | uint | integer | Bignum or Fixnum (as required) |
uint64 | Uses variable-length encoding. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum or Fixnum (as required) |
sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | int64 | long | integer/string | Bignum |
fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | uint32 | uint | integer | Bignum or Fixnum (as required) |
fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum |
sfixed32 | Always four bytes. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
sfixed64 | Always eight bytes. | int64 | long | int/long | int64 | long | integer/string | Bignum |
bool | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass | |
string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) |
bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) |