/*************************************************************************** rrc_constant.h - description ------------------- begin : Someday 2001 copyright : (C) 2001, 2010 by Eurecom created by : Lionel.Gauthier@eurecom.fr modified by : Michelle.Wetterwald@eurecom.fr ************************************************************************** RRC protocol constants ***************************************************************************/ #ifndef __RRC_CONSTANT_H__ #define __RRC_CONSTANT_H__ /* ***Debug flags*** */ #define DEBUG_RRC_STATE //#define DEBUG_RRC_DETAILS //#define DEBUG_RRC_DETAILS_2 #define RRC_DEBUG_DUMMIES //#define DEBUG_RRC_BROADCAST_NAS //#ifndef DEBUG_RRC_BROADCAST //#define DEBUG_RRC_BROADCAST //#define DEBUG_RRC_BROADCAST_DETAILS //#endif #define DEBUG_RRC_RRM_INTF //#define DEBUG_RRC_TEMP_OPENAIR #define DEBUG_NAS_CONTROL_SIMU //#define DEBUG_NAS_MEAS_SIMU // Measurement Control Message #define DEBUG_RRC_MEASURE_CONTROL // Measurement Report Message #define DEBUG_RRC_MEASURE_REPORT_MAIN // #ifdef NODE_RG // #define DEBUG_RRC_MEASURE_REPORT // #define DEBUG_RRC_FORWARD_MT_MEASURE_REPORT // #endif /* **** */ /* ** FLAG DEFINED FOR HANDLING of 2UEs in EMULATION MODE ** */ /* **** */ #define RRC_OAI_EMU /* **** */ /* ** FLAG DEFINED FOR HANDLING of ENb Measures ** */ /* **** */ //#define RRC_ENABLE_REAL_ENB_MESURES /* **** */ /* ** FLAGS DEFINED FOR HANDLING of NAS_INTERFACE ** */ /* **** */ // Case 1 : simulation = USER_MODE defined + RRC_NETLINK commented // Case 2 : netlink sockets = USER_MODE defined + #define RRC_NETLINK NAS_NETLINK // (TEMP: should be placed in Makefile, but currently, NAS_NETLINK is default in USER_MODE) // Case 3 : RT_FIFOS = USER_MODE undefined /* **** */ /* ** FLAGS DEFINED FOR MBMS DEFINITION ** */ /* **** */ // !!Activate or deactivate the MBMS Protocol!! //#define ALLOW_MBMS_PROTOCOL //#define MBMS_TEST_MODE //Used in stand-alone mode (MBMS standalone simulator) #define MBMS_INTEGRATION_MODE //Used in platform mode - simulation or realtime mode //#define ALLOW_MBMS_ACCESS_INFO /* *** Debug flags for MBMS *** */ #define DEBUG_RRC_MBMS_BASIC //basic level of trace for MBMS operation //#define DEBUG_RRC_MBMS //1st level of trace for MBMS operation //#define DEBUG_RRC_MBMS_DETAIL //2nd level of trace for MBMS operation #define DEBUG_UE_MBMS_FSM //traces for UE FSM internals #define DEBUG_UE_MBMS_FSM_TEST //full traces of MBMS FSM #define DEBUG_RRC_MBMS_MSG_CONTENT // content for received/sent message buffer #define DEBUG_RRC_MBMS_SFN // MBMS frame counter #define DEBUG_RRC_MBMS_STATUS // current status of services in UE #ifdef MBMS_INTEGRATION_MODE #undef MBMS_TEST_MODE #endif /* ***End MBMS Debug flags*** */ /* **** */ /* ** RRC INTERNAL VALUES ** */ /* **** */ // will be a variable when virtualisation #define RRC_MODULE_INST_ID 0 //max number of UE per BS // Warning : This must be coordinated with the number of FIFOs in the RG (rrc_sap.h) #define maxUsers 3 // max number of cells or RGs // to be coordinated with NAS list of RGs #define maxCells 2 #define RRC_NAS_MAX_SIZE 4096 //Values to be used in UE for quality measurement - to be adjusted //Formula : NAS_measure = (RSSI0 / RATIO_RSSI0) + SHIFT_RSSI0 //Result must be a positive integer [0-90] #define RATIO_RSSI0 100 #define SHIFT_RSSI0 110 //#define NB_ANTENNAS 2 // A Revoir // NB_ANTENNAS is set in the Makefile #define numANTENNAS NB_ANTENNAS_RX #ifdef NODE_RG #define RRC_RG_MAX_RB maxRB*maxUsers // RG_CONN_TIMEOUT will clean the MT resources from the RG if it failed // between CONN_SETUP and CONN_SETUP_COMPLETE - 3000 ==> 30s. #define RG_CONN_TIMEOUT 3000 #endif /* CONSTANTS for ESTEREL */ #define SUCCESS 0 #define FAILURE 1 #define ALREADY_C 2 // #define FALSE 0 #ifndef TRUE #define TRUE 1 #endif // Actions for computing the configuration #define E_ADD_MT 1 #define E_REL_MT 3 #define E_ADD_RB 5 #define E_REL_RB 7 // UE States #define RRC_CELL_IDLE RRC_UE_IDLE //0x01 #define CONNECTED RRC_UE_CONNECTED //0x02 #define CELL_FACH RRC_UE_CONNECTED_CELL_FACH //0x06 #define CELL_DCH RRC_UE_CONNECTED_CELL_DCH //0x0A #define CELL_PCH 16+CONNECTED // RG States #define Conn_Received 0x10 #define CELL_FACH_Connecting 0x14 #define CELL_DCH_Connecting 0x18 #define CELL_FACH_Connected RRC_RG_CONNECTED_CELL_FACH //0x06 #define CELL_DCH_Connected RRC_RG_CONNECTED_CELL_DCH //0x0A #define CELL_FACH_Releasing 0x24 #define CELL_DCH_Releasing 0x28 // RRC Messages Types (sent by)-- ESTEREL values #define RRC_CONN_REQ 11 //UE #define RRC_CONN_SETUP 12 //RG #define RRC_CONN_SETUP_COMPLETE 13 //UE #define RRC_CONN_REJECT 14 //RG #define RRC_CONN_RELEASE 15 //RG - UE #define RRC_CONN_REL_COMPLETE 16 //UE #define RB_SETUP 17 //RG #define RB_SETUP_COMPLETE 18 //UE #define RB_SETUP_FAILURE 19 //UE #define RB_RELEASE 21 //RG #define RB_RELEASE_COMPLETE 22 //UE #define RB_RELEASE_FAILURE 23 //UE #define CELL_UPDATE 25 //UE #define CELL_UPDATE_CONFIRM 26 //RG #define UE_CAPABILITY_INFO 27 //UE #define UE_CAPABILITY_INFO_CONF 28 //RG // #define REL_COUNT 3 // Nb RESEND RRC_CONNECTION_RELEASE by RG //#define N300 5000 // NB RETRY RRC_CONNECTION_REQUEST #define N300 500000 // L1 TEST #define N308 2 // NB RETRY RRC_CONNECTION_RELEASE_REQUEST #define T300_DURATION 2000 //in millisec // Timers ID #define RRC_T300 1 // protocol state #define RRC_UE_IDLE 0x01 #define RRC_UE_CONNECTED 0x02 #define RRC_UE_CONNECTED_CELL_FACH 0x04 + RRC_UE_CONNECTED #define RRC_UE_CONNECTED_CELL_DCH 0x08 + RRC_UE_CONNECTED #define RRC_UE_REQUESTING 0x10 #define RRC_RG_IDLE 0x01 #define RRC_RG_CONNECTED 0x02 #define RRC_RG_CONNECTED_CELL_FACH 0x04 + RRC_RG_CONNECTED #define RRC_RG_CONNECTED_CELL_DCH 0x08 + RRC_RG_CONNECTED // protocol events #define RRC_CONNECTION_REQUEST_EVENT 0x01 #define RRC_CONNECTION_REQUEST_TIME_OUT_EVENT 0x02 #define RRC_CONNECTION_SETUP_EVENT 0x04 #define RRC_CONNECTION_RELEASE_EVENT 0x08 #define RRC_CONNECTION_LOSS_EVENT 0x10 // SIGNALLING RADIO BEARERS - OPENAIR #ifdef NODE_RG #define RRC_SRB_OFFSET 8 #endif #ifdef NODE_MT #define RRC_SRB_OFFSET 0 #endif //MW 19/9/2013 - Hard coded value of DRB_ID for rrc_ue_outputs.c #define RRC_OAI_DRB0_ID 3 #define RRC_LTE_DCCH_ID 2+RRC_SRB_OFFSET // for openair scheduling #define RRC_LCHAN_SRB0_ID 4+RRC_SRB_OFFSET // traffic on CCCH #define RRC_LCHAN_SRB1_ID 5+RRC_SRB_OFFSET // any traffic on DCCH using RLC-UM #define RRC_LCHAN_SRB2_ID 6+RRC_SRB_OFFSET // AS traffic using RLC-AM #define RRC_LCHAN_SRB3_ID 7+RRC_SRB_OFFSET // high priority NAS traffic using RLC-AM #define RRC_LCHAN_SRB4_ID 8+RRC_SRB_OFFSET // low priority NAS traffic using RLC-AM #define RRC_BCCH_ID 64 // Broadcast #define RRC_SRB0_ID 0 // traffic on CCCH #define RRC_SRB1_ID 1 // any traffic on DCCH using RLC-UM #define RRC_SRB2_ID 2 // AS traffic using RLC-AM #define RRC_SRB3_ID 3 // high priority NAS traffic using RLC-AM #define RRC_SRB4_ID 4 // low priority NAS traffic using RLC-AM #define RRC_MCCH_ID 5 // MBMS Control // RB ESTABLISHMENT #define RB_STARTED 1 #define RB_STOPPED 0 //For PDCP #define RRC_RB_NO_USE_PDCP 0 #define RRC_RB_USE_PDCP 1 //Interface with RLC- Request or not confirmation // (cf rlc.h) #define RRC_RLC_CONFIRM_YES 1 #define RRC_RLC_CONFIRM_NO 0 // PROTOCOL ALLOC #define RRC_PROTOCOL_ENTITY_FREE 0x00 #define RRC_PROTOCOL_ENTITY_ALLOCATED 0xAA // RB Release Error cause #define RB_FAIL_IDLE_MOBILE 1 #define RB_FAIL_INVALID_QOS_VALUE 2 #define RB_FAIL_INVALID_CONFIG 3 #define RB_FAIL_RLC_FAILURE 4 #define RB_FAIL_PHY_CHANNEL_FAILURE 5 #define RB_FAIL_UE_SETUP_FAILURE 6 // extension to 25.331 #define maxCCTrCH_rg 32 #define maxRB 32 #define maxTS 15 //The real value is defined in rrc_msg_constant.h #define ACCESS_STRATUM_RELEASE_INDICATOR_DEFAULT ACCESS_STRATUM_RELEASE_INDICATOR_REL_6 #define EURECOM_KERNEL_RELEASE_INDICATOR_DEFAULT EURECOM_KERNEL_RELEASE_INDICATOR_REL_26 ////25.331 #define maxCCTrCH 8 // Values from RHODOS26 - Temp to be removed #define JRRM_SLOTS_PER_FRAME 15L #define RRC_FRAME_DURATION 320*64/(6.5*1000) // in ms - from Florian //Other RRM interface values #define RRC_CONNECTED_TO_RRM 0xCC #ifdef USER_MODE #define RPC_CONNECTION_REQUEST_TIME_OUT 2000 // in ms #else #define RPC_CONNECTION_REQUEST_TIME_OUT 5000 // in ms #endif #endif