Commit 21ae0019 authored by General ABS's avatar General ABS Committed by abs

Implement F1AP procedures to support IE extensions in UE Context Setup Request

parent 59b27ee8
......@@ -149,8 +149,23 @@ int CU_send_UE_CONTEXT_SETUP_REQUEST(instance_t instance,
OCTET_STRING_fromBuf(measConfig, (const char*)f1ap_ue_context_setup_req->cu_to_du_rrc_information->measConfig,
f1ap_ue_context_setup_req->cu_to_du_rrc_information->measConfig_length);
}
/* optional */
/* 6.4 iE_Extensions */
if (f1ap_ue_context_setup_req->cu_to_du_rrc_information->ie_extensions != NULL) {
F1AP_ProtocolExtensionContainer_10696P60_t *p_10696P60 = calloc(1, sizeof(*p_10696P60));
ie6->value.choice.CUtoDURRCInformation.iE_Extensions = (struct F1AP_ProtocolExtensionContainer *)p_10696P60;
if (f1ap_ue_context_setup_req->cu_to_du_rrc_information->ie_extensions->cell_group_config != NULL) {
asn1cSequenceAdd(p_10696P60->list, F1AP_CUtoDURRCInformation_ExtIEs_t, cu_to_du__ExtIEs);
cu_to_du__ExtIEs->id = F1AP_ProtocolIE_ID_id_CellGroupConfig;
cu_to_du__ExtIEs->criticality = F1AP_Criticality_reject;
cu_to_du__ExtIEs->extensionValue.present = F1AP_CUtoDURRCInformation_ExtIEs__extensionValue_PR_CellGroupConfig;
F1AP_CellGroupConfig_t *CellGroupConfig = &cu_to_du__ExtIEs->extensionValue.choice.CellGroupConfig;
OCTET_STRING_fromBuf(CellGroupConfig,
(const char *)f1ap_ue_context_setup_req->cu_to_du_rrc_information->ie_extensions->cell_group_config,
f1ap_ue_context_setup_req->cu_to_du_rrc_information->ie_extensions->cell_group_config_length);
}
}
}
/* mandatory */
/* c7. Candidate_SpCell_List */
......
......@@ -1305,8 +1305,8 @@ static void rrc_ue_generate_measurementReport(const protocol_ctxt_t *ctxt_pP, co
nr_pdcp_data_req_srb(ctxt_pP->rntiMaybeUEid, DCCH, nr_rrc_mui++, size, buffer, deliver_pdu_srb_rlc, NULL);
}
int8_t nr_rrc_ue_decode_ccch( const protocol_ctxt_t *const ctxt_pP, const NR_SRB_INFO *const Srb_info, const uint8_t gNB_index ){
int8_t nr_rrc_ue_decode_ccch(protocol_ctxt_t *ctxt_pP, const NR_SRB_INFO *const Srb_info, const uint8_t gNB_index)
{
NR_DL_CCCH_Message_t *dl_ccch_msg=NULL;
asn_dec_rval_t dec_rval;
int rval=0;
......@@ -2039,11 +2039,7 @@ nr_rrc_ue_establish_srb2(
LOG_I(NR_RRC,"[UE %d] State = NR_RRC_CONNECTED (gNB %d)\n", ctxt_pP->module_id, gNB_index);
}
//-----------------------------------------------------------------------------
static void rrc_ue_process_rrcReconfiguration(const protocol_ctxt_t *const ctxt_pP,
NR_RRCReconfiguration_t *rrcReconfiguration,
uint8_t gNB_index)
//-----------------------------------------------------------------------------
static void rrc_ue_process_rrcReconfiguration(protocol_ctxt_t *ctxt_pP, NR_RRCReconfiguration_t *rrcReconfiguration, uint8_t gNB_index)
{
LOG_I(NR_RRC, "[UE %d] Frame %d: Receiving from SRB1 (DL-DCCH), Processing RRCReconfiguration (gNB %d)\n",
ctxt_pP->module_id, ctxt_pP->frame, gNB_index);
......@@ -2111,16 +2107,7 @@ nr_rrc_ue_establish_srb2(
}
// from NR SRB1
//-----------------------------------------------------------------------------
int
nr_rrc_ue_decode_dcch(
const protocol_ctxt_t *const ctxt_pP,
const srb_id_t Srb_id,
const uint8_t *const Buffer,
size_t Buffer_size,
const uint8_t gNB_indexP
)
//-----------------------------------------------------------------------------
int nr_rrc_ue_decode_dcch(protocol_ctxt_t *ctxt_pP, const srb_id_t Srb_id, const uint8_t *const Buffer, size_t Buffer_size, const uint8_t gNB_indexP)
{
asn_dec_rval_t dec_rval;
NR_DL_DCCH_Message_t *dl_dcch_msg = NULL;
......
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