Active_eNBs = ( "eNB-CU-Eurecom-LTEBox");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";

eNBs = (
  {
    ////////// Identification parameters:
    eNB_ID    = 0xe00;

    cell_type = "CELL_MACRO_ENB";

    eNB_name  = "eNB-CU-Eurecom-LTEBox";

    // Tracking area code, 0x0000 and 0xfffe are reserved values
    tracking_area_code = 1;
    plmn_list = ( { mcc = 208; mnc = 95; mnc_length = 2; } )

    nr_cellid = 12345678L

    tr_s_preference  = "f1"

    local_s_if_name  = "lo";
    remote_s_address = "192.168.12.4";
    local_s_address  = "192.168.12.45";
    local_s_portc    = 501;
    remote_s_portc   = 500;
    local_s_portd    = 601;
    remote_s_portd   = 600;

    ////////// Physical parameters:

    component_carriers = (
      {
        node_function                           = "3GPP_eNodeB";
        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                      = 2665000000L;
        uplink_frequency_offset                 = -120000000;
        Nid_cell                                = 0;
        N_RB_DL                                 = 50;
        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_groupHoppingEnable                = "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                        = -96;
        pusch_alpha                             = "AL1";
        pucch_p0_Nominal                        = -104;
        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;

        //Parameters for SIB18
        rxPool_sc_CP_Len                                       = "normal";
        rxPool_sc_Period                                       = "sf40";
        rxPool_data_CP_Len                                     = "normal";
        rxPool_ResourceConfig_prb_Num                          = 20;
        rxPool_ResourceConfig_prb_Start                        = 5;
        rxPool_ResourceConfig_prb_End                          = 44;
        rxPool_ResourceConfig_offsetIndicator_present          = "prSmall";
        rxPool_ResourceConfig_offsetIndicator_choice           = 0;
        rxPool_ResourceConfig_subframeBitmap_present           = "prBs40";
        rxPool_ResourceConfig_subframeBitmap_choice_bs_buf              = "00000000000000000000";
        rxPool_ResourceConfig_subframeBitmap_choice_bs_size             = 5;
        rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused      = 0;
        /*
        rxPool_dataHoppingConfig_hoppingParameter                       = 0;
        rxPool_dataHoppingConfig_numSubbands                            = "ns1";
        rxPool_dataHoppingConfig_rbOffset                               = 0;
        rxPool_commTxResourceUC-ReqAllowed                              = "TRUE";
        */

        // Parameters for SIB19
        discRxPool_cp_Len                                               = "normal"
        discRxPool_discPeriod                                           = "rf32"
        discRxPool_numRetx                                              = 1;
        discRxPool_numRepetition                                        = 2;
        discRxPool_ResourceConfig_prb_Num                               = 5;
        discRxPool_ResourceConfig_prb_Start                             = 3;
        discRxPool_ResourceConfig_prb_End                               = 21;
        discRxPool_ResourceConfig_offsetIndicator_present               = "prSmall";
        discRxPool_ResourceConfig_offsetIndicator_choice                = 0;
        discRxPool_ResourceConfig_subframeBitmap_present                = "prBs40";
        discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf          = "f0ffffffff";
        discRxPool_ResourceConfig_subframeBitmap_choice_bs_size         = 5;
        discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused  = 0;
      }
    );


    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       = "127.0.1.10";
        ipv6       = "192:168:30::17";
        active     = "yes";
        preference = "ipv4";
      }
    );

    NETWORK_INTERFACES : {
      ENB_INTERFACE_NAME_FOR_S1_MME = "lo";
      ENB_IPV4_ADDRESS_FOR_S1_MME   = "127.0.1.30/24";
      ENB_INTERFACE_NAME_FOR_S1U    = "lo";
      ENB_IPV4_ADDRESS_FOR_S1U      = "127.0.1.30/24";
      ENB_PORT_FOR_S1U              = 2152; # Spec 2152
      ENB_IPV4_ADDRESS_FOR_X2C      = "127.0.1.30/24";
      ENB_PORT_FOR_X2C              = 36422; # Spec 36422
    };
  }
);

log_config = {
  global_log_level            = "info";
  pdcp_log_level              = "info";
  rrc_log_level               = "info";
  gtp_log_level               = "info";
};
