Commit b277fe61 authored by matzakos's avatar matzakos

Testing with S1 interface works fine up to the reception of...

Testing with S1 interface works fine up to the reception of RRCConnectionSetupComplete from the eNB. Authentication problem occuring after that.
parent 729a92e3
...@@ -478,14 +478,14 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, ...@@ -478,14 +478,14 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier,
ASN_SEQUENCE_ADD(&(*sib1)->schedulingInfoList.list,&schedulingInfo); ASN_SEQUENCE_ADD(&(*sib1)->schedulingInfoList.list,&schedulingInfo);
//TTN - This is for SIB18 //TTN - This is for SIB18
sib_type=SIB_Type_sibType18_v1250; /*sib_type=SIB_Type_sibType18_v1250;
ASN_SEQUENCE_ADD(&schedulingInfo.sib_MappingInfo.list,&sib_type); ASN_SEQUENCE_ADD(&schedulingInfo.sib_MappingInfo.list,&sib_type);
ASN_SEQUENCE_ADD(&(*sib1)->schedulingInfoList.list,&schedulingInfo); ASN_SEQUENCE_ADD(&(*sib1)->schedulingInfoList.list,&schedulingInfo);
//TTN - This is for SIB19 //TTN - This is for SIB19
sib_type=SIB_Type_sibType19_v1250; sib_type=SIB_Type_sibType19_v1250;
ASN_SEQUENCE_ADD(&schedulingInfo.sib_MappingInfo.list,&sib_type); ASN_SEQUENCE_ADD(&schedulingInfo.sib_MappingInfo.list,&sib_type);
ASN_SEQUENCE_ADD(&(*sib1)->schedulingInfoList.list,&schedulingInfo); ASN_SEQUENCE_ADD(&(*sib1)->schedulingInfoList.list,&schedulingInfo);*/
// ASN_SEQUENCE_ADD(&schedulingInfo.sib_MappingInfo.list,NULL); // ASN_SEQUENCE_ADD(&schedulingInfo.sib_MappingInfo.list,NULL);
......
...@@ -579,7 +579,6 @@ char openair_rrc_ue_init( const module_id_t ue_mod_idP, const unsigned char eNB_ ...@@ -579,7 +579,6 @@ char openair_rrc_ue_init( const module_id_t ue_mod_idP, const unsigned char eNB_
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
void rrc_ue_generate_RRCConnectionRequest( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index ) void rrc_ue_generate_RRCConnectionRequest( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index )
{ {
uint8_t i=0,rv[6]; uint8_t i=0,rv[6];
if(UE_rrc_inst[ctxt_pP->module_id].Srb0[eNB_index].Tx_buffer.payload_size ==0) { if(UE_rrc_inst[ctxt_pP->module_id].Srb0[eNB_index].Tx_buffer.payload_size ==0) {
...@@ -2991,8 +2990,8 @@ int decode_BCCH_DLSCH_Message( ...@@ -2991,8 +2990,8 @@ int decode_BCCH_DLSCH_Message(
} }
// Temporary better solution should be found for nfapi_mode=3 // Temporary better solution should be found for nfapi_mode=3
if(UE_rrc_inst[ctxt_pP->module_id].RrcState == RRC_STATE_INACTIVE && nfapi_mode==3) /*if(UE_rrc_inst[ctxt_pP->module_id].RrcState == RRC_STATE_INACTIVE && nfapi_mode==3)
UE_rrc_inst[ctxt_pP->module_id].RrcState = RRC_STATE_IDLE; UE_rrc_inst[ctxt_pP->module_id].RrcState = RRC_STATE_IDLE;*/
//LOG_I(RRC, "decode_BCCH_DLSCH_Message before calling rrc_set_sub_state() \n"); //LOG_I(RRC, "decode_BCCH_DLSCH_Message before calling rrc_set_sub_state() \n");
rrc_set_sub_state( ctxt_pP->module_id, RRC_SUB_STATE_IDLE_RECEIVING_SIB ); rrc_set_sub_state( ctxt_pP->module_id, RRC_SUB_STATE_IDLE_RECEIVING_SIB );
...@@ -3092,11 +3091,13 @@ int decode_BCCH_DLSCH_Message( ...@@ -3092,11 +3091,13 @@ int decode_BCCH_DLSCH_Message(
} }
} }
if ((rrc_get_sub_state(ctxt_pP->module_id) == RRC_SUB_STATE_IDLE_SIB_COMPLETE) if ((rrc_get_sub_state(ctxt_pP->module_id) == RRC_SUB_STATE_IDLE_SIB_COMPLETE)
#if defined(ENABLE_USE_MME) #if defined(ENABLE_USE_MME)
&& (UE_rrc_inst[ctxt_pP->module_id].initialNasMsg.data != NULL) && (UE_rrc_inst[ctxt_pP->module_id].initialNasMsg.data != NULL)
#endif #endif
) { ) {
//printf("Panos-D: decode_BCCH_DLSCH_Message() BEFORE calling rrc_ue_generate_RRCConnectionRequest \n \n");
rrc_ue_generate_RRCConnectionRequest(ctxt_pP, 0); rrc_ue_generate_RRCConnectionRequest(ctxt_pP, 0);
rrc_set_sub_state( ctxt_pP->module_id, RRC_SUB_STATE_IDLE_CONNECTING ); rrc_set_sub_state( ctxt_pP->module_id, RRC_SUB_STATE_IDLE_CONNECTING );
} }
...@@ -4952,7 +4953,7 @@ void *rrc_ue_task( void *args_p ) ...@@ -4952,7 +4953,7 @@ void *rrc_ue_task( void *args_p )
switch (rrc_get_state(ue_mod_id)) { switch (rrc_get_state(ue_mod_id)) {
case RRC_STATE_INACTIVE: { case RRC_STATE_INACTIVE: {
LOG_I(RRC, "Panos-D: rrc_ue_task() RRC state: RRC_STATE_INACTIVE \n"); //LOG_I(RRC, "Panos-D: rrc_ue_task() RRC state: RRC_STATE_INACTIVE \n");
/* Need to first activate lower layers */ /* Need to first activate lower layers */
MessageDef *message_p; MessageDef *message_p;
...@@ -4965,7 +4966,7 @@ void *rrc_ue_task( void *args_p ) ...@@ -4965,7 +4966,7 @@ void *rrc_ue_task( void *args_p )
} }
case RRC_STATE_IDLE: { case RRC_STATE_IDLE: {
LOG_I(RRC, "Panos-D: rrc_ue_task() RRC state: RRC_STATE_IDLE \n"); //LOG_I(RRC, "Panos-D: rrc_ue_task() RRC state: RRC_STATE_IDLE \n");
/* Ask to layer 1 to find a cell matching the criterion */ /* Ask to layer 1 to find a cell matching the criterion */
MessageDef *message_p; MessageDef *message_p;
......
...@@ -1371,6 +1371,7 @@ static int _emm_as_security_res(const emm_data_t *emm_data, const emm_as_securit ...@@ -1371,6 +1371,7 @@ static int _emm_as_security_res(const emm_data_t *emm_data, const emm_as_securit
static int _emm_as_establish_req(const emm_data_t *emm_data, const emm_as_establish_t *msg, static int _emm_as_establish_req(const emm_data_t *emm_data, const emm_as_establish_t *msg,
nas_establish_req_t *as_msg) nas_establish_req_t *as_msg)
{ {
LOG_FUNC_IN; LOG_FUNC_IN;
int size = 0; int size = 0;
...@@ -1428,7 +1429,7 @@ static int _emm_as_establish_req(const emm_data_t *emm_data, const emm_as_establ ...@@ -1428,7 +1429,7 @@ static int _emm_as_establish_req(const emm_data_t *emm_data, const emm_as_establ
if (size > 0) { if (size > 0) {
/* Encode the initial NAS information message */ /* Encode the initial NAS information message */
int bytes = _emm_as_encode( int bytes = _emm_as_encode(
&as_msg->initialNasMsg, &as_msg->initialNasMsg,
&nas_msg, &nas_msg,
size, size,
......
...@@ -1752,6 +1752,13 @@ void init_UE_single_thread_stub(int nb_inst) { ...@@ -1752,6 +1752,13 @@ void init_UE_single_thread_stub(int nb_inst) {
pthread_create(&UE->proc.proc_rxtx[i].pthread_rxtx, NULL, UE_phy_stub_single_thread_rxn_txnp4, rtd); pthread_create(&UE->proc.proc_rxtx[i].pthread_rxtx, NULL, UE_phy_stub_single_thread_rxn_txnp4, rtd);
} }
// Panos: Based on the following only one UE can be supported in S1 mode for now.
#ifdef NAS_UE
MessageDef *message_p;
message_p = itti_alloc_new_message(TASK_NAS_UE, INITIALIZE_MESSAGE);
itti_send_msg_to_task (TASK_NAS_UE, UE->Mod_id + NB_eNB_INST, message_p);
#endif
// Panos: Remove thread for UE_sync in phy_stub_UE mode. // Panos: Remove thread for UE_sync in phy_stub_UE mode.
//pthread_create(&UE->proc.pthread_synch,NULL,UE_thread_synch,(void*)UE); //pthread_create(&UE->proc.pthread_synch,NULL,UE_thread_synch,(void*)UE);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment