Commit 019149e5 authored by Raymond Knopp's avatar Raymond Knopp

intermediate step (rrc_UE.c doesn't compile)

parent 2932d172
...@@ -1132,35 +1132,6 @@ uint8_t do_RRCConnectionReestablishment_NB_IoT( ...@@ -1132,35 +1132,6 @@ uint8_t do_RRCConnectionReestablishment_NB_IoT(
buffer, buffer,
RRC_BUF_SIZE); RRC_BUF_SIZE);
asn_enc_rval_t enc_rval;
DL_CCCH_Message_NB_t dl_ccch_msg_NB_IoT;
RRCConnectionReestablishment_NB_t* rrcConnectionReestablishment_NB_IoT;
memset(&dl_ccch_msg_NB_IoT, 0, sizeof(DL_CCCH_Message_NB_t));
dl_ccch_msg_NB_IoT.message.present = DL_CCCH_MessageType_NB_PR_c1;
dl_ccch_msg_NB_IoT.message.choice.c1.present = DL_CCCH_MessageType_NB__c1_PR_rrcConnectionReestablishment_r13;
rrcConnectionReestablishment_NB_IoT = &dl_ccch_msg_NB_IoT.message.choice.c1.choice.rrcConnectionReestablishment_r13;
//rrcConnectionReestablishment_NB
rrcConnectionReestablishment_NB_IoT->rrc_TransactionIdentifier = Transaction_id;
rrcConnectionReestablishment_NB_IoT->criticalExtensions.present = RRCConnectionReestablishment_NB__criticalExtensions_PR_c1;
rrcConnectionReestablishment_NB_IoT->criticalExtensions.choice.c1.present = RRCConnectionReestablishment_NB__criticalExtensions__c1_PR_rrcConnectionReestablishment_r13;
rrcConnectionReestablishment_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionReestablishment_r13.radioResourceConfigDedicated_r13.srb_ToAddModList_r13 = SRB_list_NB_IoT;
rrcConnectionReestablishment_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionReestablishment_r13.radioResourceConfigDedicated_r13.drb_ToAddModList_r13 = NULL;
rrcConnectionReestablishment_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionReestablishment_r13.radioResourceConfigDedicated_r13.drb_ToReleaseList_r13 = NULL;
rrcConnectionReestablishment_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionReestablishment_r13.radioResourceConfigDedicated_r13.rlf_TimersAndConstants_r13= NULL;
rrcConnectionReestablishment_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionReestablishment_r13.radioResourceConfigDedicated_r13.mac_MainConfig_r13= NULL;
rrcConnectionReestablishment_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionReestablishment_r13.radioResourceConfigDedicated_r13.physicalConfigDedicated_r13 = NULL;
rrcConnectionReestablishment_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionReestablishment_r13.nextHopChainingCount_r13=0;
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message_NB,
NULL,
(void*)&dl_ccch_msg_NB_IoT,
buffer,
RRC_BUF_SIZE);
if (enc_rval.encoded <= 0) { if (enc_rval.encoded <= 0) {
LOG_F(RRC, "ASN1 message encoding failed (%s, %li)!\n", LOG_F(RRC, "ASN1 message encoding failed (%s, %li)!\n",
......
...@@ -1577,7 +1577,7 @@ rrc_ue_process_radioResourceConfigDedicated( ...@@ -1577,7 +1577,7 @@ rrc_ue_process_radioResourceConfigDedicated(
NULL, NULL,
NULL NULL
#endif #endif
);
} }
} }
} }
...@@ -2580,7 +2580,7 @@ rrc_ue_decode_dcch( ...@@ -2580,7 +2580,7 @@ rrc_ue_decode_dcch(
#endif #endif
#endif #endif
} }
}
//TTN test D2D (should not be here - in reality, this message will be triggered from ProSeApp) //TTN test D2D (should not be here - in reality, this message will be triggered from ProSeApp)
if (send_ue_information == 0) { if (send_ue_information == 0) {
...@@ -3896,18 +3896,6 @@ uint64_t arfcn_to_freq(long arfcn) { ...@@ -3896,18 +3896,6 @@ uint64_t arfcn_to_freq(long arfcn) {
} }
break; break;
case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib6:
if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&32) == 0) {
UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=32;
new_sib=1;
memcpy( UE_rrc_inst[ctxt_pP->module_id].sib6[eNB_index], &typeandinfo->choice.sib6, sizeof(SystemInformationBlockType6_t) );
LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB6 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
}
break;
break;
case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib6: case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib6:
if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&32) == 0) { if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&32) == 0) {
UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=32; UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=32;
...@@ -4068,9 +4056,6 @@ uint64_t arfcn_to_freq(long arfcn) { ...@@ -4068,9 +4056,6 @@ uint64_t arfcn_to_freq(long arfcn) {
#endif #endif
default:
break;
}
default: default:
break; break;
...@@ -4608,17 +4593,7 @@ void *rrc_ue_task( void *args_p ) ...@@ -4608,17 +4593,7 @@ void *rrc_ue_task( void *args_p )
LOG_D(RRC, "[UE %d] Received %s: eNB %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p), LOG_D(RRC, "[UE %d] Received %s: eNB %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p),
RRC_MAC_CCCH_DATA_CNF (msg_p).enb_index); RRC_MAC_CCCH_DATA_CNF (msg_p).enb_index);
case RRC_MAC_BCCH_DATA_IND:
LOG_D(RRC, "[UE %d] Received %s: frameP %d, eNB %d\n", ue_mod_id, msg_name,
RRC_MAC_BCCH_DATA_IND (msg_p).frame, RRC_MAC_BCCH_DATA_IND (msg_p).enb_index);
// PROTOCOL_CTXT_SET_BY_INSTANCE(&ctxt, instance, ENB_FLAG_NO, NOT_A_RNTI, RRC_MAC_BCCH_DATA_IND (msg_p).frame, 0);
PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, ue_mod_id, ENB_FLAG_NO, NOT_A_RNTI, RRC_MAC_BCCH_DATA_IND (msg_p).frame, 0,RRC_MAC_BCCH_DATA_IND (msg_p).enb_index);
decode_BCCH_DLSCH_Message (&ctxt,
RRC_MAC_BCCH_DATA_IND (msg_p).enb_index,
RRC_MAC_BCCH_DATA_IND (msg_p).sdu,
RRC_MAC_BCCH_DATA_IND (msg_p).sdu_size,
RRC_MAC_BCCH_DATA_IND (msg_p).rsrq,
RRC_MAC_BCCH_DATA_IND (msg_p).rsrp);
break; break;
case RRC_MAC_CCCH_DATA_IND: case RRC_MAC_CCCH_DATA_IND:
...@@ -4795,7 +4770,7 @@ void *rrc_ue_task( void *args_p ) ...@@ -4795,7 +4770,7 @@ void *rrc_ue_task( void *args_p )
case RRC_STATE_CONNECTED: case RRC_STATE_CONNECTED:
/* should not happen */ /* should not happen */
LOG_E(RRC, "[UE %d] request %s in RRC state %d\n", ue_mod_id, msg_name, rrc_get_state(ue_mod_id)); LOG_E(RRC, "[UE %d] request %s in RRC state %d\n", ue_mod_id, rrc_get_state(ue_mod_id));
break; break;
default: default:
...@@ -4805,16 +4780,6 @@ void *rrc_ue_task( void *args_p ) ...@@ -4805,16 +4780,6 @@ void *rrc_ue_task( void *args_p )
break; break;
case RRC_STATE_CONNECTED:
/* should not happen */
LOG_E(RRC, "[UE %d] request %s in RRC state %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p), rrc_get_state(ue_mod_id));
break;
default:
LOG_E(RRC, "[UE %d] Invalid RRC state %d\n", ue_mod_id, rrc_get_state(ue_mod_id));
break;
}
case RRC_STATE_INACTIVE: case RRC_STATE_INACTIVE:
case RRC_STATE_CONNECTED: case RRC_STATE_CONNECTED:
/* should not happen */ /* should not happen */
...@@ -4965,7 +4930,8 @@ void *rrc_ue_task( void *args_p ) ...@@ -4965,7 +4930,8 @@ void *rrc_ue_task( void *args_p )
switch (rrc_get_state(ue_mod_id)) { switch (rrc_get_state(ue_mod_id)) {
case RRC_STATE_IDLE: case RRC_STATE_IDLE:
switch (rrc_get_sub_state(ue_mod_id)) { switch (rrc_get_sub_state(ue_mod_id)) {
case RRC_SUB_STATE_IDLE_SEARCHING: { case RRC_SUB_STATE_IDLE_SEARCHING:
{
MessageDef *message_p; MessageDef *message_p;
int i; int i;
...@@ -5003,17 +4969,6 @@ void *rrc_ue_task( void *args_p ) ...@@ -5003,17 +4969,6 @@ void *rrc_ue_task( void *args_p )
break; break;
case RRC_STATE_INACTIVE:
case RRC_STATE_CONNECTED:
/* should not happen */
LOG_E(RRC, "[UE %d] indication %s in RRC state %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p), rrc_get_state(ue_mod_id));
break;
default:
LOG_E(RRC, "[UE %d] Invalid RRC state %d\n", ue_mod_id, rrc_get_state(ue_mod_id));
break;
}
case RRC_RAL_CONFIGURE_THRESHOLD_REQ: case RRC_RAL_CONFIGURE_THRESHOLD_REQ:
rrc_ue_ral_handle_configure_threshold_request(ue_mod_id, msg_p); rrc_ue_ral_handle_configure_threshold_request(ue_mod_id, msg_p);
break; break;
...@@ -5050,18 +5005,6 @@ void *rrc_ue_task( void *args_p ) ...@@ -5050,18 +5005,6 @@ void *rrc_ue_task( void *args_p )
break; break;
#endif #endif
default:
LOG_E(RRC, "[UE %d] Invalid RRC state %d\n", ue_mod_id, rrc_get_state(ue_mod_id));
break;
}
break;
case RRC_RAL_CONNECTION_RELEASE_REQ:
LOG_D(RRC, "[UE %d] Received %s\n", ue_mod_id, ITTI_MSG_NAME (msg_p));
break;
#endif
default: default:
LOG_E(RRC, "[UE %d] Received unexpected message %s\n", ue_mod_id, ITTI_MSG_NAME (msg_p)); LOG_E(RRC, "[UE %d] Received unexpected message %s\n", ue_mod_id, ITTI_MSG_NAME (msg_p));
break; break;
......
...@@ -345,7 +345,6 @@ init_SI( ...@@ -345,7 +345,6 @@ init_SI(
#endif #endif
#endif
LOG_D(RRC, LOG_D(RRC,
PROTOCOL_RRC_CTXT_FMT" RRC_UE --- MAC_CONFIG_REQ (SIB1.tdd & SIB2 params) ---> MAC_UE\n", PROTOCOL_RRC_CTXT_FMT" RRC_UE --- MAC_CONFIG_REQ (SIB1.tdd & SIB2 params) ---> MAC_UE\n",
PROTOCOL_RRC_CTXT_ARGS(ctxt_pP)); PROTOCOL_RRC_CTXT_ARGS(ctxt_pP));
......
...@@ -99,10 +99,7 @@ static void s1ap_eNB_register_mme(s1ap_eNB_instance_t *instance_p, ...@@ -99,10 +99,7 @@ static void s1ap_eNB_register_mme(s1ap_eNB_instance_t *instance_p,
sctp_new_association_req_t *sctp_new_association_req_p = NULL; sctp_new_association_req_t *sctp_new_association_req_p = NULL;
s1ap_eNB_mme_data_t *s1ap_mme_data_p = NULL; s1ap_eNB_mme_data_t *s1ap_mme_data_p = NULL;
struct s1ap_eNB_mme_data_s *mme = NULL; struct s1ap_eNB_mme_data_s *mme = NULL;
<<<<<<< HEAD
=======
>>>>>>> origin/develop
DevAssert(instance_p != NULL); DevAssert(instance_p != NULL);
DevAssert(mme_ip_address != NULL); DevAssert(mme_ip_address != NULL);
message_p = itti_alloc_new_message(TASK_S1AP, SCTP_NEW_ASSOCIATION_REQ); message_p = itti_alloc_new_message(TASK_S1AP, SCTP_NEW_ASSOCIATION_REQ);
...@@ -117,21 +114,6 @@ static void s1ap_eNB_register_mme(s1ap_eNB_instance_t *instance_p, ...@@ -117,21 +114,6 @@ static void s1ap_eNB_register_mme(s1ap_eNB_instance_t *instance_p,
memcpy(&sctp_new_association_req_p->local_address, memcpy(&sctp_new_association_req_p->local_address,
local_ip_addr, local_ip_addr,
sizeof(*local_ip_addr)); sizeof(*local_ip_addr));
<<<<<<< HEAD
S1AP_INFO("[eNB %d] check the mme registration state\n",instance_p->instance);
mme = s1ap_eNB_get_MME_from_instance(instance_p);
if ( mme == NULL ) {
/* Create new MME descriptor */
s1ap_mme_data_p = calloc(1, sizeof(*s1ap_mme_data_p));
DevAssert(s1ap_mme_data_p != NULL);
s1ap_mme_data_p->cnx_id = s1ap_eNB_fetch_add_global_cnx_id();
sctp_new_association_req_p->ulp_cnx_id = s1ap_mme_data_p->cnx_id;
s1ap_mme_data_p->assoc_id = -1;
s1ap_mme_data_p->s1ap_eNB_instance = instance_p;
STAILQ_INIT(&s1ap_mme_data_p->served_gummei);
=======
S1AP_INFO("[eNB %d] check the mme registration state\n",instance_p->instance); S1AP_INFO("[eNB %d] check the mme registration state\n",instance_p->instance);
mme = s1ap_eNB_get_MME_from_instance(instance_p); mme = s1ap_eNB_get_MME_from_instance(instance_p);
...@@ -150,7 +132,6 @@ static void s1ap_eNB_register_mme(s1ap_eNB_instance_t *instance_p, ...@@ -150,7 +132,6 @@ static void s1ap_eNB_register_mme(s1ap_eNB_instance_t *instance_p,
STAILQ_INIT(&s1ap_mme_data_p->served_gummei); STAILQ_INIT(&s1ap_mme_data_p->served_gummei);
>>>>>>> origin/develop
/* Insert the new descriptor in list of known MME /* Insert the new descriptor in list of known MME
* but not yet associated. * but not yet associated.
*/ */
...@@ -165,10 +146,7 @@ static void s1ap_eNB_register_mme(s1ap_eNB_instance_t *instance_p, ...@@ -165,10 +146,7 @@ static void s1ap_eNB_register_mme(s1ap_eNB_instance_t *instance_p,
instance_p->instance, instance_p->instance,
mme->state, mme->cnx_id, mme->state, mme->cnx_id,
instance_p->s1ap_mme_nb, instance_p->s1ap_mme_pending_nb); instance_p->s1ap_mme_nb, instance_p->s1ap_mme_pending_nb);
<<<<<<< HEAD
=======
>>>>>>> origin/develop
/*s1ap_mme_data_p->cnx_id = mme->cnx_id; /*s1ap_mme_data_p->cnx_id = mme->cnx_id;
sctp_new_association_req_p->ulp_cnx_id = mme->cnx_id; sctp_new_association_req_p->ulp_cnx_id = mme->cnx_id;
...@@ -419,16 +397,12 @@ static int s1ap_eNB_generate_s1_setup_request( ...@@ -419,16 +397,12 @@ static int s1ap_eNB_generate_s1_setup_request(
uint8_t *buffer; uint8_t *buffer;
uint32_t len; uint32_t len;
int ret = 0; int ret = 0;
<<<<<<< HEAD
s1ap_mme_data_p->state = S1AP_ENB_STATE_WAITING;
=======
DevAssert(instance_p != NULL); DevAssert(instance_p != NULL);
DevAssert(s1ap_mme_data_p != NULL); DevAssert(s1ap_mme_data_p != NULL);
s1ap_mme_data_p->state = S1AP_ENB_STATE_WAITING; s1ap_mme_data_p->state = S1AP_ENB_STATE_WAITING;
>>>>>>> origin/develop
/* Prepare the S1AP message to encode */ /* Prepare the S1AP message to encode */
memset(&pdu, 0, sizeof(pdu)); memset(&pdu, 0, sizeof(pdu));
pdu.present = S1AP_S1AP_PDU_PR_initiatingMessage; pdu.present = S1AP_S1AP_PDU_PR_initiatingMessage;
...@@ -436,11 +410,8 @@ static int s1ap_eNB_generate_s1_setup_request( ...@@ -436,11 +410,8 @@ static int s1ap_eNB_generate_s1_setup_request(
pdu.choice.initiatingMessage.criticality = S1AP_Criticality_reject; pdu.choice.initiatingMessage.criticality = S1AP_Criticality_reject;
pdu.choice.initiatingMessage.value.present = S1AP_InitiatingMessage__value_PR_S1SetupRequest; pdu.choice.initiatingMessage.value.present = S1AP_InitiatingMessage__value_PR_S1SetupRequest;
out = &pdu.choice.initiatingMessage.value.choice.S1SetupRequest; out = &pdu.choice.initiatingMessage.value.choice.S1SetupRequest;
<<<<<<< HEAD
=======
/* mandatory */ /* mandatory */
>>>>>>> origin/develop
ie = (S1AP_S1SetupRequestIEs_t *)calloc(1, sizeof(S1AP_S1SetupRequestIEs_t)); ie = (S1AP_S1SetupRequestIEs_t *)calloc(1, sizeof(S1AP_S1SetupRequestIEs_t));
ie->id = S1AP_ProtocolIE_ID_id_Global_ENB_ID; ie->id = S1AP_ProtocolIE_ID_id_Global_ENB_ID;
ie->criticality = S1AP_Criticality_reject; ie->criticality = S1AP_Criticality_reject;
...@@ -467,23 +438,12 @@ static int s1ap_eNB_generate_s1_setup_request( ...@@ -467,23 +438,12 @@ static int s1ap_eNB_generate_s1_setup_request(
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
} }
<<<<<<< HEAD
=======
/* mandatory */ /* mandatory */
>>>>>>> origin/develop
ie = (S1AP_S1SetupRequestIEs_t *)calloc(1, sizeof(S1AP_S1SetupRequestIEs_t)); ie = (S1AP_S1SetupRequestIEs_t *)calloc(1, sizeof(S1AP_S1SetupRequestIEs_t));
ie->id = S1AP_ProtocolIE_ID_id_SupportedTAs; ie->id = S1AP_ProtocolIE_ID_id_SupportedTAs;
ie->criticality = S1AP_Criticality_reject; ie->criticality = S1AP_Criticality_reject;
ie->value.present = S1AP_S1SetupRequestIEs__value_PR_SupportedTAs; ie->value.present = S1AP_S1SetupRequestIEs__value_PR_SupportedTAs;
<<<<<<< HEAD
ta = (S1AP_SupportedTAs_Item_t *)calloc(1, sizeof(S1AP_SupportedTAs_Item_t));
INT16_TO_OCTET_STRING(instance_p->tac, &ta->tAC);
plmn = (S1AP_PLMNidentity_t *)calloc(1, sizeof(S1AP_PLMNidentity_t));
MCC_MNC_TO_TBCD(instance_p->mcc, instance_p->mnc, instance_p->mnc_digit_length, plmn);
ASN_SEQUENCE_ADD(&ta->broadcastPLMNs.list, plmn);
ASN_SEQUENCE_ADD(&ie->value.choice.SupportedTAs.list, ta);
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
=======
{ {
ta = (S1AP_SupportedTAs_Item_t *)calloc(1, sizeof(S1AP_SupportedTAs_Item_t)); ta = (S1AP_SupportedTAs_Item_t *)calloc(1, sizeof(S1AP_SupportedTAs_Item_t));
INT16_TO_OCTET_STRING(instance_p->tac, &ta->tAC); INT16_TO_OCTET_STRING(instance_p->tac, &ta->tAC);
...@@ -497,7 +457,6 @@ static int s1ap_eNB_generate_s1_setup_request( ...@@ -497,7 +457,6 @@ static int s1ap_eNB_generate_s1_setup_request(
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
/* mandatory */ /* mandatory */
>>>>>>> origin/develop
ie = (S1AP_S1SetupRequestIEs_t *)calloc(1, sizeof(S1AP_S1SetupRequestIEs_t)); ie = (S1AP_S1SetupRequestIEs_t *)calloc(1, sizeof(S1AP_S1SetupRequestIEs_t));
ie->id = S1AP_ProtocolIE_ID_id_DefaultPagingDRX; ie->id = S1AP_ProtocolIE_ID_id_DefaultPagingDRX;
ie->criticality = S1AP_Criticality_ignore; ie->criticality = S1AP_Criticality_ignore;
...@@ -516,16 +475,10 @@ static int s1ap_eNB_generate_s1_setup_request( ...@@ -516,16 +475,10 @@ static int s1ap_eNB_generate_s1_setup_request(
} }
/* optional */ /* optional */
<<<<<<< HEAD
if (0) {
ie = (S1AP_S1SetupRequestIEs_t *)calloc(1, sizeof(S1AP_S1SetupRequestIEs_t));
ie->id = S1AP_ProtocolIE_ID_id_UE_RetentionInformation ;
=======
#if (S1AP_VERSION >= MAKE_VERSION(13, 0, 0)) #if (S1AP_VERSION >= MAKE_VERSION(13, 0, 0))
if (0) { if (0) {
ie = (S1AP_S1SetupRequestIEs_t *)calloc(1, sizeof(S1AP_S1SetupRequestIEs_t)); ie = (S1AP_S1SetupRequestIEs_t *)calloc(1, sizeof(S1AP_S1SetupRequestIEs_t));
ie->id = S1AP_ProtocolIE_ID_id_UE_RetentionInformation; ie->id = S1AP_ProtocolIE_ID_id_UE_RetentionInformation;
>>>>>>> origin/develop
ie->criticality = S1AP_Criticality_ignore; ie->criticality = S1AP_Criticality_ignore;
ie->value.present = S1AP_S1SetupRequestIEs__value_PR_UE_RetentionInformation; ie->value.present = S1AP_S1SetupRequestIEs__value_PR_UE_RetentionInformation;
// ie->value.choice.UE_RetentionInformation = ; // ie->value.choice.UE_RetentionInformation = ;
......
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