Active_eNBs = ( "eNB_Eurecom_0");

# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";


eNBs =
(
 {
    ////////// Identification parameters:
    eNB_ID          =  0xe00;
    cell_type       =  "CELL_MACRO_ENB";
    eNB_name        =  "eNB_Eurecom_0";
    // Tracking area code, 0x0000 and 0xfffe are reserved values
    tracking_area_code  =  "1";
    mobile_country_code =  "208";
    mobile_network_code =  "92";

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

    component_carriers = (
        {
            frame_type                      = "FDD";
            tdd_config                      = 3;
            tdd_config_s                    = 0;
            prefix_type                     = "NORMAL";
            eutra_band                      = 7;
            downlink_frequency              = 2660000000L;
            uplink_frequency_offset         = -120000000;

            Nid_cell                        = 0;
            N_RB_DL                         = 25;
            Nid_cell_mbsfn                  = 0;
            nb_antennas_tx                  = 1;
            nb_antennas_rx                  = 1;
             tx_gain                        = 30;
             rx_gain                        = 25;
            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                   = 1;
            pucch_nCS_AN                    = 0;
            pucch_n1_AN                     = 32;
            pdsch_referenceSignalPower      = -50;
            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                    = 0;
            phich_duration                  = "NORMAL";
            phich_resource                  = "ONESIXTH";
            srs_enable                      = "DISABLE";
            /*
            srs_BandwidthConfig             =;
            srs_SubframeConfig              =;
            srs_ackNackST                   =;
            srs_MaxUpPts                    =;
            */

            pusch_p0_Nominal                = -75;
            pusch_alpha                     = "AL1";
            pucch_p0_Nominal                = -96;
            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                   = 2;
            rach_preambleInitialReceivedTargetPower = -90;
            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;
        }
    );


    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_ip_address      = ( { ipv4       = "192.188.2.2";
                              ipv6       = "2192:168:30::17";
                              active     = "yes";
                              preference = "ipv4";
                            }
                          );

    NETWORK_INTERFACES :
    {
        ENB_INTERFACE_NAME_FOR_S1_MME            = "tun2";
        ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.188.2.2/24";

        ENB_INTERFACE_NAME_FOR_S1U               = "tun3";
        ENB_IPV4_ADDRESS_FOR_S1U                 = "192.188.3.3/24";
        ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
    };

    # available options for level:   error, warn, notice, info, debug, trace
    # available options for verbosity: none, low, medium, high, full
    log_config :
    {
        global_log_level                      ="debug";
        global_log_verbosity                  ="medium";
        hw_log_level                          ="error";
        hw_log_verbosity                      ="medium";
        phy_log_level                         ="info";
        phy_log_verbosity                     ="medium";
        mac_log_level                         ="info";
        mac_log_verbosity                     ="medium";
        rlc_log_level                         ="debug";
        rlc_log_verbosity                     ="medium";
        pdcp_log_level                        ="debug";
        pdcp_log_verbosity                    ="medium";
        rrc_log_level                         ="debug";
        rrc_log_verbosity                     ="medium";
        gtpu_log_level                        ="debug";
        gtpu_log_verbosity                    ="medium";
        udp_log_level                         ="debug";
        udp_log_verbosity                     ="medium";
    };
  }
);
