This commit introduces several enhancements in X2AP and RRC to deal
with ENDC. The main goal is to deal with UE's on/off and with various
errors.
The following work is included:
- DC prep and DC overall X2 timers
- X2 messages for UE release and DC timers' timeout
Open problems:
- what to do when the UE sends an scg Failure? This commit removes
the UE. And this removal may not be correctly done
- UE removal in the gNB's PHY layer (a next commit is coming,
but it is hackish and will need a rework)
381 lines
13 KiB
Plaintext
381 lines
13 KiB
Plaintext
Active_eNBs = ( "eNB-Eurecom-LTEBox");
|
|
# Asn1_verbosity, choice in: none, info, annoying
|
|
Asn1_verbosity = "none";
|
|
|
|
eNBs =
|
|
(
|
|
{
|
|
# real_time choice in {hard, rt-preempt, no}
|
|
real_time = "no";
|
|
|
|
////////// Identification parameters:
|
|
eNB_ID = 0xe00;
|
|
|
|
cell_type = "CELL_MACRO_ENB";
|
|
|
|
eNB_name = "eNB-Eurecom-LTEBox";
|
|
|
|
// Tracking area code, 0x0000 and 0xfffe are reserved values
|
|
tracking_area_code = 600;
|
|
|
|
plmn_list = ( { mcc = 208; mnc = 93; mnc_length = 2; } );
|
|
|
|
tr_s_preference = "local_mac"
|
|
|
|
////////// Physical parameters:
|
|
|
|
component_carriers = (
|
|
{
|
|
node_function = "NGFI_RCC_IF4p5";
|
|
node_timing = "synch_to_ext_device";
|
|
node_synch_ref = 0;
|
|
frame_type = "FDD";
|
|
tdd_config = 3;
|
|
tdd_config_s = 0;
|
|
prefix_type = "NORMAL";
|
|
eutra_band = 7;
|
|
downlink_frequency = 2685000000L;
|
|
uplink_frequency_offset = -120000000;
|
|
Nid_cell = 0;
|
|
N_RB_DL = 50;
|
|
Nid_cell_mbsfn = 0;
|
|
nb_antenna_ports = 2;
|
|
nb_antennas_tx = 1;
|
|
nb_antennas_rx = 1;
|
|
tx_gain = 90;
|
|
rx_gain = 125;
|
|
pbch_repetition = "FALSE";
|
|
prach_root = 0;
|
|
prach_config_index = 0;
|
|
prach_high_speed = "DISABLE";
|
|
prach_zero_correlation = 1;
|
|
prach_freq_offset = 2;
|
|
pucch_delta_shift = 1;
|
|
pucch_nRB_CQI = 0;
|
|
pucch_nCS_AN = 0;
|
|
pucch_n1_AN = 0;
|
|
pdsch_referenceSignalPower = -27;
|
|
pdsch_p_b = 0;
|
|
pusch_n_SB = 1;
|
|
pusch_enable64QAM = "DISABLE";
|
|
pusch_hoppingMode = "interSubFrame";
|
|
pusch_hoppingOffset = 0;
|
|
pusch_groupHoppingEnabled = "ENABLE";
|
|
pusch_groupAssignment = 0;
|
|
pusch_sequenceHoppingEnabled = "DISABLE";
|
|
pusch_nDMRS1 = 1;
|
|
phich_duration = "NORMAL";
|
|
phich_resource = "ONESIXTH";
|
|
srs_enable = "DISABLE";
|
|
/* srs_BandwidthConfig =;
|
|
srs_SubframeConfig =;
|
|
srs_ackNackST =;
|
|
srs_MaxUpPts =;*/
|
|
|
|
pusch_p0_Nominal = -104;
|
|
pusch_alpha = "AL1";
|
|
pucch_p0_Nominal = -108;
|
|
msg3_delta_Preamble = 6;
|
|
pucch_deltaF_Format1 = "deltaF2";
|
|
pucch_deltaF_Format1b = "deltaF3";
|
|
pucch_deltaF_Format2 = "deltaF0";
|
|
pucch_deltaF_Format2a = "deltaF0";
|
|
pucch_deltaF_Format2b = "deltaF0";
|
|
|
|
rach_numberOfRA_Preambles = 64;
|
|
rach_preamblesGroupAConfig = "DISABLE";
|
|
/*
|
|
rach_sizeOfRA_PreamblesGroupA = ;
|
|
rach_messageSizeGroupA = ;
|
|
rach_messagePowerOffsetGroupB = ;
|
|
*/
|
|
rach_powerRampingStep = 4;
|
|
rach_preambleInitialReceivedTargetPower = -108;
|
|
rach_preambleTransMax = 10;
|
|
rach_raResponseWindowSize = 10;
|
|
rach_macContentionResolutionTimer = 48;
|
|
rach_maxHARQ_Msg3Tx = 4;
|
|
|
|
pcch_default_PagingCycle = 128;
|
|
pcch_nB = "oneT";
|
|
bcch_modificationPeriodCoeff = 2;
|
|
ue_TimersAndConstants_t300 = 1000;
|
|
ue_TimersAndConstants_t301 = 1000;
|
|
ue_TimersAndConstants_t310 = 1000;
|
|
ue_TimersAndConstants_t311 = 10000;
|
|
ue_TimersAndConstants_n310 = 20;
|
|
ue_TimersAndConstants_n311 = 1;
|
|
ue_TransmissionMode = 1;
|
|
mbms_dedicated_serving_cell = "DISABLE"
|
|
}
|
|
);
|
|
|
|
|
|
srb1_parameters :
|
|
{
|
|
# timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
|
|
timer_poll_retransmit = 80;
|
|
|
|
# timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
|
|
timer_reordering = 35;
|
|
|
|
# timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
|
|
timer_status_prohibit = 0;
|
|
|
|
# poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
|
|
poll_pdu = 4;
|
|
|
|
# poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
|
|
poll_byte = 99999;
|
|
|
|
# max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
|
|
max_retx_threshold = 4;
|
|
}
|
|
|
|
# ------- SCTP definitions
|
|
SCTP :
|
|
{
|
|
# Number of streams to use in input/output
|
|
SCTP_INSTREAMS = 2;
|
|
SCTP_OUTSTREAMS = 2;
|
|
};
|
|
|
|
|
|
////////// MME parameters:
|
|
mme_ip_address = ( { ipv4 = "192.168.15.130";
|
|
ipv6 = "192:168:30::17";
|
|
active = "yes";
|
|
preference = "ipv4";
|
|
}
|
|
);
|
|
|
|
enable_measurement_reports = "no";
|
|
|
|
///X2
|
|
enable_x2 = "no";
|
|
t_reloc_prep = 1000; /* unit: millisecond */
|
|
tx2_reloc_overall = 2000; /* unit: millisecond */
|
|
t_dc_prep = 1000; /* unit: millisecond */
|
|
t_dc_overall = 2000; /* unit: millisecond */
|
|
|
|
|
|
////////// MCE parameters:
|
|
target_mce_m2_ip_address = ( { ipv4 = "127.0.0.7";
|
|
ipv6 = "192:168:30::17";
|
|
active = "yes";
|
|
preference = "ipv4";
|
|
}
|
|
);
|
|
|
|
///M2
|
|
enable_enb_m2 = "yes";
|
|
|
|
|
|
mbms_configuration_data_list = (
|
|
{
|
|
mbsfn_sync_area = 0x0001;
|
|
mbms_service_area_list=(
|
|
{
|
|
mbms_service_area=0x0001;
|
|
}
|
|
);
|
|
}
|
|
|
|
);
|
|
|
|
NETWORK_INTERFACES :
|
|
{
|
|
ENB_INTERFACE_NAME_FOR_S1_MME = "enp2s0";
|
|
ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.10.15/24";
|
|
ENB_INTERFACE_NAME_FOR_S1U = "enp2s0";
|
|
ENB_IPV4_ADDRESS_FOR_S1U = "192.168.10.15/24";
|
|
ENB_PORT_FOR_S1U = 2152; # Spec 2152
|
|
|
|
ENB_IPV4_ADDRESS_FOR_X2C = "127.0.0.2/24";
|
|
ENB_PORT_FOR_X2C = 36422; # Spec 36422
|
|
|
|
ENB_IPV4_ADDRESS_FOR_M2C = "127.0.0.2/24";
|
|
ENB_PORT_FOR_M2C = 36443; # Spec 36443
|
|
};
|
|
}
|
|
);
|
|
|
|
MCEs = (
|
|
{
|
|
MCE_ID = 0xe00;
|
|
|
|
MCE_name = "MCE-Vicomtech-LTEBox";
|
|
|
|
//M2
|
|
enable_mce_m2 = "yes";
|
|
|
|
//M3
|
|
enable_mce_m3 = "yes";
|
|
|
|
target_mme_m3_ip_address = ( { ipv4 = "127.0.0.18";
|
|
ipv6 = "192:168:30::17";
|
|
active = "yes";
|
|
preference = "ipv4";
|
|
}
|
|
);
|
|
|
|
|
|
|
|
NETWORK_INTERFACES :
|
|
{
|
|
MCE_INTERFACE_NAME_FOR_M2_ENB = "lo";
|
|
MCE_IPV4_ADDRESS_FOR_M2C = "127.0.0.7/24";
|
|
MCE_PORT_FOR_M2C = 36443; # Spec 36443
|
|
|
|
MCE_INTERFACE_NAME_FOR_M3_MME = "lo";
|
|
MCE_IPV4_ADDRESS_FOR_M3C = "127.0.0.3/24";
|
|
MCE_PORT_FOR_M3C = 36444; # Spec 36444
|
|
};
|
|
|
|
plnm:
|
|
{
|
|
mcc = 208;
|
|
mnc = 93;
|
|
mnc_length = 2;
|
|
};
|
|
|
|
mbms_sched_info :
|
|
{
|
|
mcch_update_time = 10;
|
|
mbms_area_config_list = (
|
|
{
|
|
common_sf_allocation_period = 2; #rf4(0) rf8(1) rf16(2) rf32(3) rf64(4) rf128(5) rf256(6)
|
|
mbms_area_id = 0;
|
|
pmch_config_list = (
|
|
{
|
|
allocated_sf_end=32;
|
|
data_mcs=14;
|
|
mch_scheduling_period = 0; #rf8(0)
|
|
mbms_session_list = (
|
|
{
|
|
#plnm + service_id ->tmgi
|
|
plnm:
|
|
{
|
|
mcc = 208;
|
|
mnc = 93;
|
|
mnc_length = 2;
|
|
}
|
|
service_id=0; #keep this allways as 0 (workaround for TUN if)
|
|
lcid=6; #this must be properly defined lcid:6+service:0 -> rab_id:6
|
|
}
|
|
);
|
|
}
|
|
);
|
|
|
|
mbms_sf_config_list = (
|
|
{
|
|
radioframe_allocation_period=1; #n1(0) n2(1) n4(2) n8(3) n16(4) n32(5)
|
|
radioframe_alloocation_offset=0;
|
|
num_frame="oneFrame";
|
|
subframe_allocation=57; #xx111001
|
|
//num_frame="fourFrame";
|
|
//subframe_allocation=14548987; #
|
|
}
|
|
);
|
|
|
|
}
|
|
);
|
|
};
|
|
|
|
|
|
mcch_config_per_mbsfn_area = (
|
|
{
|
|
mbsfn_area = 0;
|
|
pdcch_length = 1; #s1(0), s2(1)
|
|
repetition_period = 0; #rf32(0), rf64(1), rf128(2), rf256(3)
|
|
offset = 0;
|
|
modification_period = 0; #rf512(0; rf1024(1)
|
|
subframe_allocation_info = 32; #BITSTRING (6bits -> one frame) xx100000
|
|
mcs = 1; #n2(0), n7(1), n13(2), n19(3)
|
|
}
|
|
);
|
|
|
|
#); #end mbms_scheduling_info
|
|
|
|
}
|
|
);
|
|
MMEs = (
|
|
{
|
|
MME_ID = 0xe00;
|
|
|
|
MME_name = "MME-MBMS-Vicomtech-LTEBox";
|
|
|
|
//M3
|
|
enable_mme_m3 = "yes";
|
|
NETWORK_INTERFACES :
|
|
{
|
|
MME_INTERFACE_NAME_FOR_M3_MCE = "lo";
|
|
MME_IPV4_ADDRESS_FOR_M3C = "127.0.0.18/24";
|
|
MME_PORT_FOR_M3C = 36444; # Spec 36444
|
|
|
|
};
|
|
}
|
|
);
|
|
|
|
|
|
MACRLCs = (
|
|
{
|
|
num_cc = 1;
|
|
tr_s_preference = "local_L1";
|
|
tr_n_preference = "local_RRC";
|
|
}
|
|
);
|
|
|
|
L1s = (
|
|
{
|
|
num_cc = 1;
|
|
tr_n_preference = "local_mac";
|
|
}
|
|
);
|
|
|
|
RUs = (
|
|
{
|
|
local_if_name = "lo";
|
|
remote_address = "127.0.0.2";
|
|
local_address = "127.0.0.1";
|
|
local_portc = 50000;
|
|
remote_portc = 50000;
|
|
local_portd = 50001;
|
|
remote_portd = 50001;
|
|
local_rf = "no"
|
|
tr_preference = "udp_if4p5"
|
|
nb_tx = 2
|
|
nb_rx = 2
|
|
att_tx = 0
|
|
att_rx = 0;
|
|
eNB_instances = [0];
|
|
is_slave = "no";
|
|
}
|
|
);
|
|
|
|
THREAD_STRUCT = (
|
|
{
|
|
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
|
|
parallel_config = "PARALLEL_SINGLE_THREAD";
|
|
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
|
|
worker_config = "WORKER_ENABLE";
|
|
}
|
|
);
|
|
|
|
log_config = {
|
|
global_log_level ="info";
|
|
global_log_verbosity ="medium";
|
|
hw_log_level ="info";
|
|
hw_log_verbosity ="medium";
|
|
phy_log_level ="info";
|
|
phy_log_verbosity ="medium";
|
|
mac_log_level ="info";
|
|
mac_log_verbosity ="high";
|
|
rlc_log_level ="info";
|
|
rlc_log_verbosity ="medium";
|
|
pdcp_log_level ="info";
|
|
pdcp_log_verbosity ="medium";
|
|
rrc_log_level ="info";
|
|
rrc_log_verbosity ="medium";
|
|
};
|