Active_eNBs = ( "eNB_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_Eurecom_LTEBox";

    // Tracking area code, 0x0000 and 0xfffe are reserved values
    tracking_area_code  =  "1";

    mobile_country_code =  "208";

    mobile_network_code =  "93";

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

    component_carriers = (
      {
        node_function                                         = "eNodeB_3GPP";
	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				      = 1;
        nb_antennas_tx          			      = 1;
        nb_antennas_rx          			      = 1;
        tx_gain                                            = 90;
        rx_gain                                            = 120;
        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 			      = -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                                   = -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            = -104;
        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;


   rach_raResponseWindowSize_NB                    = 20 ;   # 20,50,80,120,180,240,320,400
   rach_macContentionResolutionTimer_NB            = 80 ;   # 80,100,120,160,200,240,480,960
   rach_powerRampingStep_NB                        = 0  ;   # 2,4,6
   rach_preambleInitialReceivedTargetPower_NB      = -112 ; #  >= -120 && <= -90
   rach_preambleTransMax_CE_NB                     = 3 ;    # 3,4,5,6,7,8,10,20,50,100,200
   bcch_modificationPeriodCoeff_NB                 = 0 ;    #
   pcch_defaultPagingCycle_NB                      = 0 ;    #
   nprach_CP_Length                                = 0 ;    # 0,1
   nprach_rsrp_range                               = 0 ;    # ?
   nprach_SubcarrierMSG3_RangeStart                = "one" ;# "zero","oneThird","twoThird","one"
   maxNumPreambleAttemptCE_NB                      = 10 ;   # 3,4,5,6,7,8,10  
   npdsch_nrs_Power                                = 0 ;    # >= -60 && <= 50
   npusch_ack_nack_numRepetitions_NB               = 0 ;    #  
   npusch_srs_SubframeConfig_NB                    = 0 ;    # >= 0  && <= 15
   npusch_threeTone_CyclicShift_r13                = 0 ;    # >= 0  && <= 2
   npusch_sixTone_CyclicShift_r13                  = 0 ;    # >= 0  && <= 3
   npusch_groupHoppingEnabled                      = 0 ;    # 0,1
   npusch_groupAssignmentNPUSCH_r13                = 0 ;    # >= 0  && <= 29
   dl_GapThreshold_NB                              = 32;    # 32,64,128,256
   dl_GapPeriodicity_NB                            = 64;    # 64,128,256,512
   dl_GapDurationCoeff_NB                          = "oneEighth";# "oneEighth","oneFourth","threeEighth","oneHalf"
   npusch_p0_NominalNPUSCH                         = 0 ;    # >= -128  && <= 24
   npusch_alpha                                    = 10;    #0,4,5,10
   deltaPreambleMsg3                               = 0 ;    # >= -1  && <= 6
   ue_TimersAndConstants_t300_NB                   = 1000;
   ue_TimersAndConstants_t301_NB                   = 1000;
   ue_TimersAndConstants_t310_NB                   = 1000;
   ue_TimersAndConstants_t311_NB                   = 10000;
   ue_TimersAndConstants_n310_NB                   = 20;
   ue_TimersAndConstants_n311_NB                   = 1;

    nprach_Periodicity                = 320; # 40,80,160,240,320,640,1280,2560
        nprach_StartTime                  = 8;   # 8,16,32,64,128,256,512,1024
        nprach_SubcarrierOffset           = 0;   # 0,12,24,36,2,18,34
        nprach_NumSubcarriers             = 12;  # 12,24,36,48
        numRepetitionsPerPreambleAttempt  = 2;   # 1,2,4,8,16,32,64,128
        npdcch_NumRepetitions_RA          = 16 ;  # 1,2,4,8,16,32,64,128
        npdcch_StartSF_CSS_RA             = 16 ;    # 1.5,2,4,8,16,32,48,64
        npdcch_Offset_RA                  = "zero";# "zero","oneEighth","oneFourth","threeEighth"
      }
    );

    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.0.3";
                              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.0.2/24";

        ENB_INTERFACE_NAME_FOR_S1U               = "lo";
        ENB_IPV4_ADDRESS_FOR_S1U                 = "127.0.0.5/24";
        ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
    };

    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";
   };
  }
);