Merge remote-tracking branch 'origin/develop-NR_SA_F1AP_5GRECORDS' into develop-NR_SA_F1AP_5GRECORDS
This commit is contained in:
@@ -648,10 +648,11 @@ int CU_send_gNB_CU_CONFIGURATION_UPDATE(instance_t instance, f1ap_gnb_cu_configu
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
|
|
||||||
// c3. Cells_to_be_Deactivated_List
|
if(!RC.nrrrc) {
|
||||||
//
|
|
||||||
|
/* mandatory */
|
||||||
|
/* c3. Cells_to_be_Deactivated_List */
|
||||||
ie = (F1AP_GNBCUConfigurationUpdateIEs_t *)calloc(1, sizeof(F1AP_GNBCUConfigurationUpdateIEs_t));
|
ie = (F1AP_GNBCUConfigurationUpdateIEs_t *)calloc(1, sizeof(F1AP_GNBCUConfigurationUpdateIEs_t));
|
||||||
ie->id = F1AP_ProtocolIE_ID_id_Cells_to_be_Deactivated_List;
|
ie->id = F1AP_ProtocolIE_ID_id_Cells_to_be_Deactivated_List;
|
||||||
ie->criticality = F1AP_Criticality_reject;
|
ie->criticality = F1AP_Criticality_reject;
|
||||||
@@ -674,9 +675,11 @@ int CU_send_gNB_CU_CONFIGURATION_UPDATE(instance_t instance, f1ap_gnb_cu_configu
|
|||||||
|
|
||||||
F1AP_NRCGI_t nRCGI;
|
F1AP_NRCGI_t nRCGI;
|
||||||
memset(&nRCGI, 0, sizeof(F1AP_NRCGI_t));
|
memset(&nRCGI, 0, sizeof(F1AP_NRCGI_t));
|
||||||
MCC_MNC_TO_PLMNID(mcc, mnc, mnc_digit_length,
|
MCC_MNC_TO_PLMNID(f1ap_gnb_cu_configuration_update->cells_to_activate[i].mcc,
|
||||||
|
f1ap_gnb_cu_configuration_update->cells_to_activate[i].mnc,
|
||||||
|
f1ap_gnb_cu_configuration_update->cells_to_activate[i].mnc_digit_length,
|
||||||
&nRCGI.pLMN_Identity);
|
&nRCGI.pLMN_Identity);
|
||||||
NR_CELL_ID_TO_BIT_STRING(123456, &nRCGI.nRCellIdentity);
|
NR_CELL_ID_TO_BIT_STRING(f1ap_gnb_cu_configuration_update->cells_to_activate[i].nr_cellid, &nRCGI.nRCellIdentity);
|
||||||
cells_to_be_deactivated_list_item.nRCGI = nRCGI;
|
cells_to_be_deactivated_list_item.nRCGI = nRCGI;
|
||||||
|
|
||||||
cells_to_be_deactivated_list_item_ies->value.choice.Cells_to_be_Deactivated_List_Item = cells_to_be_deactivated_list_item;
|
cells_to_be_deactivated_list_item_ies->value.choice.Cells_to_be_Deactivated_List_Item = cells_to_be_deactivated_list_item;
|
||||||
@@ -684,12 +687,10 @@ int CU_send_gNB_CU_CONFIGURATION_UPDATE(instance_t instance, f1ap_gnb_cu_configu
|
|||||||
cells_to_be_deactivated_list_item_ies);
|
cells_to_be_deactivated_list_item_ies);
|
||||||
}
|
}
|
||||||
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/* mandatory */
|
||||||
// c4. GNB_CU_TNL_Association_To_Add_List
|
/* c4. GNB_CU_TNL_Association_To_Add_List */
|
||||||
|
|
||||||
ie = (F1AP_GNBCUConfigurationUpdateIEs_t *)calloc(1, sizeof(F1AP_GNBCUConfigurationUpdateIEs_t));
|
ie = (F1AP_GNBCUConfigurationUpdateIEs_t *)calloc(1, sizeof(F1AP_GNBCUConfigurationUpdateIEs_t));
|
||||||
ie->id = F1AP_ProtocolIE_ID_id_GNB_CU_TNL_Association_To_Add_List;
|
ie->id = F1AP_ProtocolIE_ID_id_GNB_CU_TNL_Association_To_Add_List;
|
||||||
ie->criticality = F1AP_Criticality_reject;
|
ie->criticality = F1AP_Criticality_reject;
|
||||||
@@ -734,11 +735,9 @@ int CU_send_gNB_CU_CONFIGURATION_UPDATE(instance_t instance, f1ap_gnb_cu_configu
|
|||||||
}
|
}
|
||||||
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/* mandatory */
|
||||||
|
/* c5. GNB_CU_TNL_Association_To_Remove_List */
|
||||||
// c5. GNB_CU_TNL_Association_To_Remove_List
|
|
||||||
ie = (F1AP_GNBCUConfigurationUpdateIEs_t *)calloc(1, sizeof(F1AP_GNBCUConfigurationUpdateIEs_t));
|
ie = (F1AP_GNBCUConfigurationUpdateIEs_t *)calloc(1, sizeof(F1AP_GNBCUConfigurationUpdateIEs_t));
|
||||||
ie->id = F1AP_ProtocolIE_ID_id_GNB_CU_TNL_Association_To_Remove_List;
|
ie->id = F1AP_ProtocolIE_ID_id_GNB_CU_TNL_Association_To_Remove_List;
|
||||||
ie->criticality = F1AP_Criticality_reject;
|
ie->criticality = F1AP_Criticality_reject;
|
||||||
@@ -778,10 +777,10 @@ int CU_send_gNB_CU_CONFIGURATION_UPDATE(instance_t instance, f1ap_gnb_cu_configu
|
|||||||
gnb_cu_tnl_association_to_remove_item_ies);
|
gnb_cu_tnl_association_to_remove_item_ies);
|
||||||
}
|
}
|
||||||
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
//c6. GNB_CU_TNL_Association_To_Update_List
|
/* mandatory */
|
||||||
|
/* c6. GNB_CU_TNL_Association_To_Update_List */
|
||||||
ie = (F1AP_GNBCUConfigurationUpdateIEs_t *)calloc(1, sizeof(F1AP_GNBCUConfigurationUpdateIEs_t));
|
ie = (F1AP_GNBCUConfigurationUpdateIEs_t *)calloc(1, sizeof(F1AP_GNBCUConfigurationUpdateIEs_t));
|
||||||
ie->id = F1AP_ProtocolIE_ID_id_GNB_CU_TNL_Association_To_Update_List;
|
ie->id = F1AP_ProtocolIE_ID_id_GNB_CU_TNL_Association_To_Update_List;
|
||||||
ie->criticality = F1AP_Criticality_reject;
|
ie->criticality = F1AP_Criticality_reject;
|
||||||
@@ -827,10 +826,10 @@ int CU_send_gNB_CU_CONFIGURATION_UPDATE(instance_t instance, f1ap_gnb_cu_configu
|
|||||||
gnb_cu_tnl_association_to_update_item_ies);
|
gnb_cu_tnl_association_to_update_item_ies);
|
||||||
}
|
}
|
||||||
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
// c7. Cells_to_be_Barred_List
|
/* mandatory */
|
||||||
|
/* c7. Cells_to_be_Barred_List */
|
||||||
ie = (F1AP_GNBCUConfigurationUpdateIEs_t *)calloc(1, sizeof(F1AP_GNBCUConfigurationUpdateIEs_t));
|
ie = (F1AP_GNBCUConfigurationUpdateIEs_t *)calloc(1, sizeof(F1AP_GNBCUConfigurationUpdateIEs_t));
|
||||||
ie->id = F1AP_ProtocolIE_ID_id_Cells_to_be_Barred_List;
|
ie->id = F1AP_ProtocolIE_ID_id_Cells_to_be_Barred_List;
|
||||||
ie->criticality = F1AP_Criticality_reject;
|
ie->criticality = F1AP_Criticality_reject;
|
||||||
@@ -852,9 +851,11 @@ int CU_send_gNB_CU_CONFIGURATION_UPDATE(instance_t instance, f1ap_gnb_cu_configu
|
|||||||
// - nRCGI
|
// - nRCGI
|
||||||
F1AP_NRCGI_t nRCGI;
|
F1AP_NRCGI_t nRCGI;
|
||||||
memset(&nRCGI,0,sizeof(F1AP_NRCGI_t));
|
memset(&nRCGI,0,sizeof(F1AP_NRCGI_t));
|
||||||
MCC_MNC_TO_PLMNID(mcc, mnc, mnc_digit_length,
|
MCC_MNC_TO_PLMNID(f1ap_gnb_cu_configuration_update->cells_to_activate[i].mcc,
|
||||||
|
f1ap_gnb_cu_configuration_update->cells_to_activate[i].mnc,
|
||||||
|
f1ap_gnb_cu_configuration_update->cells_to_activate[i].mnc_digit_length,
|
||||||
&nRCGI.pLMN_Identity);
|
&nRCGI.pLMN_Identity);
|
||||||
NR_CELL_ID_TO_BIT_STRING(123456, &nRCGI.nRCellIdentity);
|
NR_CELL_ID_TO_BIT_STRING(f1ap_gnb_cu_configuration_update->cells_to_activate[i].nr_cellid, &nRCGI.nRCellIdentity);
|
||||||
cells_to_be_barred_item.nRCGI = nRCGI;
|
cells_to_be_barred_item.nRCGI = nRCGI;
|
||||||
|
|
||||||
// 7.2 cellBarred
|
// 7.2 cellBarred
|
||||||
@@ -866,10 +867,9 @@ int CU_send_gNB_CU_CONFIGURATION_UPDATE(instance_t instance, f1ap_gnb_cu_configu
|
|||||||
}
|
}
|
||||||
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/* mandatory */
|
||||||
// c8. Protected_EUTRA_Resources_List
|
/* c8. Protected_EUTRA_Resources_List */
|
||||||
ie = (F1AP_GNBCUConfigurationUpdateIEs_t *)calloc(1, sizeof(F1AP_GNBCUConfigurationUpdateIEs_t));
|
ie = (F1AP_GNBCUConfigurationUpdateIEs_t *)calloc(1, sizeof(F1AP_GNBCUConfigurationUpdateIEs_t));
|
||||||
ie->id = F1AP_ProtocolIE_ID_id_Protected_EUTRA_Resources_List;
|
ie->id = F1AP_ProtocolIE_ID_id_Protected_EUTRA_Resources_List;
|
||||||
ie->criticality = F1AP_Criticality_reject;
|
ie->criticality = F1AP_Criticality_reject;
|
||||||
@@ -892,7 +892,7 @@ int CU_send_gNB_CU_CONFIGURATION_UPDATE(instance_t instance, f1ap_gnb_cu_configu
|
|||||||
sizeof(F1AP_Protected_EUTRA_Resources_Item_t));
|
sizeof(F1AP_Protected_EUTRA_Resources_Item_t));
|
||||||
ASN_SEQUENCE_ADD(&ie->value.choice.Protected_EUTRA_Resources_List.list, protected_eutra_resources_item_ies);
|
ASN_SEQUENCE_ADD(&ie->value.choice.Protected_EUTRA_Resources_List.list, protected_eutra_resources_item_ies);
|
||||||
|
|
||||||
|
/*
|
||||||
F1AP_Served_EUTRA_Cells_Information_t served_eutra_cells_information;
|
F1AP_Served_EUTRA_Cells_Information_t served_eutra_cells_information;
|
||||||
memset((void *)&served_eutra_cells_information, 0, sizeof(F1AP_Served_EUTRA_Cells_Information_t));
|
memset((void *)&served_eutra_cells_information, 0, sizeof(F1AP_Served_EUTRA_Cells_Information_t));
|
||||||
|
|
||||||
@@ -923,10 +923,10 @@ int CU_send_gNB_CU_CONFIGURATION_UPDATE(instance_t instance, f1ap_gnb_cu_configu
|
|||||||
ASN_SEQUENCE_ADD(&protected_eutra_resources_item_ies->value.choice.ListofEUTRACellsinGNBDUCoordination.list, &served_eutra_cells_information);
|
ASN_SEQUENCE_ADD(&protected_eutra_resources_item_ies->value.choice.ListofEUTRACellsinGNBDUCoordination.list, &served_eutra_cells_information);
|
||||||
|
|
||||||
ASN_SEQUENCE_ADD(&ie->value.choice.Protected_EUTRA_Resources_List.list, protected_eutra_resources_item_ies);
|
ASN_SEQUENCE_ADD(&ie->value.choice.Protected_EUTRA_Resources_List.list, protected_eutra_resources_item_ies);
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
||||||
*/
|
}
|
||||||
|
|
||||||
|
|
||||||
/* encode */
|
/* encode */
|
||||||
|
|||||||
@@ -199,14 +199,19 @@ int DU_send_F1_SETUP_REQUEST(instance_t instance) {
|
|||||||
served_cell_information.nRPCI = f1ap_du_data->nr_pci[i]; // int 0..1007
|
served_cell_information.nRPCI = f1ap_du_data->nr_pci[i]; // int 0..1007
|
||||||
|
|
||||||
/* - fiveGS_TAC */
|
/* - fiveGS_TAC */
|
||||||
|
if (RC.nrrrc) {
|
||||||
uint8_t fiveGS_TAC[3];
|
uint8_t fiveGS_TAC[3];
|
||||||
served_cell_information.fiveGS_TAC=calloc(1,sizeof(*served_cell_information.fiveGS_TAC));
|
|
||||||
fiveGS_TAC[0] = ((uint8_t*)&f1ap_du_data->tac[i])[2];
|
fiveGS_TAC[0] = ((uint8_t*)&f1ap_du_data->tac[i])[2];
|
||||||
fiveGS_TAC[1] = ((uint8_t*)&f1ap_du_data->tac[i])[1];
|
fiveGS_TAC[1] = ((uint8_t*)&f1ap_du_data->tac[i])[1];
|
||||||
fiveGS_TAC[2] = ((uint8_t*)&f1ap_du_data->tac[i])[0];
|
fiveGS_TAC[2] = ((uint8_t*)&f1ap_du_data->tac[i])[0];
|
||||||
OCTET_STRING_fromBuf(served_cell_information.fiveGS_TAC,
|
OCTET_STRING_fromBuf(served_cell_information.fiveGS_TAC,
|
||||||
(const char *)fiveGS_TAC,
|
(const char *)fiveGS_TAC,
|
||||||
3);
|
3);
|
||||||
|
} else {
|
||||||
|
OCTET_STRING_fromBuf(served_cell_information.fiveGS_TAC,
|
||||||
|
(const char*)&f1ap_du_data->tac[i],
|
||||||
|
3);
|
||||||
|
}
|
||||||
|
|
||||||
/* - Configured_EPS_TAC */
|
/* - Configured_EPS_TAC */
|
||||||
if(0){
|
if(0){
|
||||||
@@ -725,6 +730,7 @@ int DU_send_gNB_DU_CONFIGURATION_UPDATE(instance_t instance,
|
|||||||
served_cell_information.nRPCI = f1ap_setup_req->nr_pci[i]; // int 0..1007
|
served_cell_information.nRPCI = f1ap_setup_req->nr_pci[i]; // int 0..1007
|
||||||
|
|
||||||
/* - fiveGS_TAC */
|
/* - fiveGS_TAC */
|
||||||
|
if (RC.nrrrc) {
|
||||||
uint8_t fiveGS_TAC[3];
|
uint8_t fiveGS_TAC[3];
|
||||||
fiveGS_TAC[0] = ((uint8_t*)&f1ap_setup_req->tac[i])[2];
|
fiveGS_TAC[0] = ((uint8_t*)&f1ap_setup_req->tac[i])[2];
|
||||||
fiveGS_TAC[1] = ((uint8_t*)&f1ap_setup_req->tac[i])[1];
|
fiveGS_TAC[1] = ((uint8_t*)&f1ap_setup_req->tac[i])[1];
|
||||||
@@ -732,6 +738,11 @@ int DU_send_gNB_DU_CONFIGURATION_UPDATE(instance_t instance,
|
|||||||
OCTET_STRING_fromBuf(served_cell_information.fiveGS_TAC,
|
OCTET_STRING_fromBuf(served_cell_information.fiveGS_TAC,
|
||||||
(const char *)fiveGS_TAC,
|
(const char *)fiveGS_TAC,
|
||||||
3);
|
3);
|
||||||
|
} else {
|
||||||
|
OCTET_STRING_fromBuf(served_cell_information.fiveGS_TAC,
|
||||||
|
(const char *) &f1ap_setup_req->tac[i],
|
||||||
|
3);
|
||||||
|
}
|
||||||
|
|
||||||
/* - Configured_EPS_TAC */
|
/* - Configured_EPS_TAC */
|
||||||
if(1){
|
if(1){
|
||||||
@@ -890,7 +901,6 @@ int DU_send_gNB_DU_CONFIGURATION_UPDATE(instance_t instance,
|
|||||||
served_cell_information.nRPCI = f1ap_setup_req->nr_pci[i]; // int 0..1007
|
served_cell_information.nRPCI = f1ap_setup_req->nr_pci[i]; // int 0..1007
|
||||||
|
|
||||||
/* - fiveGS_TAC */
|
/* - fiveGS_TAC */
|
||||||
served_cell_information.fiveGS_TAC=calloc(1,sizeof(*served_cell_information.fiveGS_TAC));
|
|
||||||
OCTET_STRING_fromBuf(served_cell_information.fiveGS_TAC,
|
OCTET_STRING_fromBuf(served_cell_information.fiveGS_TAC,
|
||||||
(const char *) &f1ap_setup_req->tac[i],
|
(const char *) &f1ap_setup_req->tac[i],
|
||||||
3);
|
3);
|
||||||
|
|||||||
Reference in New Issue
Block a user