mirror of
https://github.com/open5gs/open5gs.git
synced 2025-11-03 05:23:38 +00:00
fix: adjust the actual path amf.plmn_support (#825)
This commit is contained in:
@@ -947,149 +947,6 @@ ogs_pkbuf_t *ngap_sess_build_initial_context_setup_request(
|
||||
return ogs_ngap_encode(&pdu);
|
||||
}
|
||||
|
||||
#if 0
|
||||
ogs_pkbuf_t *ngap_build_ue_context_modification_request(amf_ue_t *amf_ue)
|
||||
{
|
||||
NGAP_NGAP_PDU_t pdu;
|
||||
NGAP_InitiatingMessage_t *initiatingMessage = NULL;
|
||||
NGAP_UEContextModificationRequest_t *UEContextModificationRequest = NULL;
|
||||
|
||||
NGAP_UEContextModificationRequestIEs_t *ie = NULL;
|
||||
|
||||
NGAP_AMF_UE_NGAP_ID_t *AMF_UE_NGAP_ID = NULL;
|
||||
NGAP_RAN_UE_NGAP_ID_t *RAN_UE_NGAP_ID = NULL;
|
||||
NGAP_UESecurityCapabilities_t *UESecurityCapabilities = NULL;
|
||||
NGAP_SecurityKey_t *SecurityKey = NULL;
|
||||
NGAP_CSFallbackIndicator_t *CSFallbackIndicator = NULL;
|
||||
NGAP_LAI_t *LAI = NULL;
|
||||
|
||||
ran_ue_t *ran_ue = NULL;
|
||||
|
||||
ogs_assert(amf_ue);
|
||||
ran_ue = ran_ue_cycle(amf_ue->ran_ue);
|
||||
ogs_assert(ran_ue);
|
||||
|
||||
ogs_debug("UE context modification request");
|
||||
|
||||
memset(&pdu, 0, sizeof (NGAP_NGAP_PDU_t));
|
||||
pdu.present = NGAP_NGAP_PDU_PR_initiatingMessage;
|
||||
pdu.choice.initiatingMessage = CALLOC(1, sizeof(NGAP_InitiatingMessage_t));
|
||||
|
||||
initiatingMessage = pdu.choice.initiatingMessage;
|
||||
initiatingMessage->procedureCode =
|
||||
NGAP_ProcedureCode_id_UEContextModification;
|
||||
initiatingMessage->criticality = NGAP_Criticality_reject;
|
||||
initiatingMessage->value.present =
|
||||
NGAP_InitiatingMessage__value_PR_UEContextModificationRequest;
|
||||
|
||||
UEContextModificationRequest =
|
||||
&initiatingMessage->value.choice.UEContextModificationRequest;
|
||||
|
||||
ie = CALLOC(1, sizeof(NGAP_UEContextModificationRequestIEs_t));
|
||||
ASN_SEQUENCE_ADD(&UEContextModificationRequest->protocolIEs, ie);
|
||||
|
||||
ie->id = NGAP_ProtocolIE_ID_id_AMF_UE_NGAP_ID;
|
||||
ie->criticality = NGAP_Criticality_reject;
|
||||
ie->value.present =
|
||||
NGAP_UEContextModificationRequestIEs__value_PR_AMF_UE_NGAP_ID,
|
||||
|
||||
AMF_UE_NGAP_ID = &ie->value.choice.AMF_UE_NGAP_ID;
|
||||
|
||||
ie = CALLOC(1, sizeof(NGAP_UEContextModificationRequestIEs_t));
|
||||
ASN_SEQUENCE_ADD(&UEContextModificationRequest->protocolIEs, ie);
|
||||
|
||||
ie->id = NGAP_ProtocolIE_ID_id_RAN_UE_NGAP_ID;
|
||||
ie->criticality = NGAP_Criticality_reject;
|
||||
ie->value.present =
|
||||
NGAP_UEContextModificationRequestIEs__value_PR_RAN_UE_NGAP_ID,
|
||||
|
||||
RAN_UE_NGAP_ID = &ie->value.choice.RAN_UE_NGAP_ID;
|
||||
|
||||
*AMF_UE_NGAP_ID = ran_ue->amf_ue_ngap_id;
|
||||
*RAN_UE_NGAP_ID = ran_ue->ran_ue_ngap_id;
|
||||
|
||||
ogs_debug(" RAN_UE_NGAP_ID[%d] AMF_UE_NGAP_ID[%d]",
|
||||
ran_ue->ran_ue_ngap_id, ran_ue->amf_ue_ngap_id);
|
||||
|
||||
if (amf_ue->nas_eps.type == AMF_EPS_TYPE_EXTENDED_SERVICE_REQUEST &&
|
||||
AMF_P_TMSI_IS_AVAILABLE(amf_ue)) {
|
||||
ie = CALLOC(1, sizeof(NGAP_UEContextModificationRequestIEs_t));
|
||||
ASN_SEQUENCE_ADD(&UEContextModificationRequest->protocolIEs, ie);
|
||||
|
||||
ie->id = NGAP_ProtocolIE_ID_id_CSFallbackIndicator;
|
||||
ie->criticality = NGAP_Criticality_reject;
|
||||
ie->value.present =
|
||||
NGAP_UEContextModificationRequestIEs__value_PR_CSFallbackIndicator;
|
||||
|
||||
CSFallbackIndicator = &ie->value.choice.CSFallbackIndicator;
|
||||
ogs_assert(CSFallbackIndicator);
|
||||
|
||||
*CSFallbackIndicator = NGAP_CSFallbackIndicator_cs_fallback_required;
|
||||
|
||||
ie = CALLOC(1, sizeof(NGAP_UEContextModificationRequestIEs_t));
|
||||
ASN_SEQUENCE_ADD(&UEContextModificationRequest->protocolIEs, ie);
|
||||
|
||||
ie->id = NGAP_ProtocolIE_ID_id_RegisteredLAI;
|
||||
ie->criticality = NGAP_Criticality_ignore;
|
||||
ie->value.present =
|
||||
NGAP_UEContextModificationRequestIEs__value_PR_LAI;
|
||||
|
||||
LAI = &ie->value.choice.LAI;
|
||||
ogs_assert(LAI);
|
||||
|
||||
ogs_asn_buffer_to_OCTET_STRING(
|
||||
&amf_ue->nr_tai.plmn_id, sizeof(ogs_plmn_id_t), &LAI->pLMNidentity);
|
||||
ogs_assert(amf_ue->csmap);
|
||||
ogs_assert(amf_ue->p_tmsi);
|
||||
ogs_asn_uint16_to_OCTET_STRING(amf_ue->csmap->lai.lac, &LAI->lAC);
|
||||
|
||||
} else {
|
||||
ie = CALLOC(1, sizeof(NGAP_UEContextModificationRequestIEs_t));
|
||||
ASN_SEQUENCE_ADD(&UEContextModificationRequest->protocolIEs, ie);
|
||||
|
||||
ie->id = NGAP_ProtocolIE_ID_id_UESecurityCapabilities;
|
||||
ie->criticality = NGAP_Criticality_reject;
|
||||
ie->value.present = NGAP_UEContextModificationRequestIEs__value_PR_UESecurityCapabilities;
|
||||
|
||||
UESecurityCapabilities = &ie->value.choice.UESecurityCapabilities;
|
||||
|
||||
UESecurityCapabilities->encryptionAlgorithms.size = 2;
|
||||
UESecurityCapabilities->encryptionAlgorithms.buf =
|
||||
CALLOC(UESecurityCapabilities->encryptionAlgorithms.size,
|
||||
sizeof(uint8_t));
|
||||
UESecurityCapabilities->encryptionAlgorithms.bits_unused = 0;
|
||||
UESecurityCapabilities->encryptionAlgorithms.buf[0] =
|
||||
(amf_ue->ue_network_capability.eea << 1);
|
||||
|
||||
UESecurityCapabilities->integrityProtectionAlgorithms.size = 2;
|
||||
UESecurityCapabilities->integrityProtectionAlgorithms.buf =
|
||||
CALLOC(UESecurityCapabilities->
|
||||
integrityProtectionAlgorithms.size, sizeof(uint8_t));
|
||||
UESecurityCapabilities->integrityProtectionAlgorithms.bits_unused = 0;
|
||||
UESecurityCapabilities->integrityProtectionAlgorithms.buf[0] =
|
||||
(amf_ue->ue_network_capability.eia << 1);
|
||||
|
||||
ie = CALLOC(1, sizeof(NGAP_UEContextModificationRequestIEs_t));
|
||||
ASN_SEQUENCE_ADD(&UEContextModificationRequest->protocolIEs, ie);
|
||||
|
||||
ie->id = NGAP_ProtocolIE_ID_id_SecurityKey;
|
||||
ie->criticality = NGAP_Criticality_reject;
|
||||
ie->value.present =
|
||||
NGAP_UEContextModificationRequestIEs__value_PR_SecurityKey;
|
||||
|
||||
SecurityKey = &ie->value.choice.SecurityKey;
|
||||
|
||||
SecurityKey->size = OGS_SHA256_DIGEST_SIZE;
|
||||
SecurityKey->buf =
|
||||
CALLOC(SecurityKey->size, sizeof(uint8_t));
|
||||
SecurityKey->bits_unused = 0;
|
||||
memcpy(SecurityKey->buf, amf_ue->kgnb, SecurityKey->size);
|
||||
}
|
||||
|
||||
return ogs_ngap_encode(&pdu);
|
||||
}
|
||||
#endif
|
||||
|
||||
ogs_pkbuf_t *ngap_build_ue_context_release_command(
|
||||
ran_ue_t *ran_ue, NGAP_Cause_PR group, long cause)
|
||||
{
|
||||
|
||||
@@ -37,7 +37,6 @@ ogs_pkbuf_t *ngap_ue_build_initial_context_setup_request(
|
||||
amf_ue_t *amf_ue, ogs_pkbuf_t *gmmbuf);
|
||||
ogs_pkbuf_t *ngap_sess_build_initial_context_setup_request(
|
||||
amf_sess_t *sess, ogs_pkbuf_t *gmmbuf, ogs_pkbuf_t *n2smbuf);
|
||||
ogs_pkbuf_t *ngap_build_ue_context_modification_request(amf_ue_t *amf_ue);
|
||||
ogs_pkbuf_t *ngap_build_ue_context_release_command(
|
||||
ran_ue_t *ran_ue, NGAP_Cause_PR group, long cause);
|
||||
|
||||
|
||||
@@ -305,7 +305,7 @@ void ngap_handle_ng_setup_request(amf_gnb_t *gnb, ogs_ngap_message_t *message)
|
||||
if (!s_nssai_is_found(gnb)) {
|
||||
ogs_warn("NG-Setup failure:");
|
||||
ogs_warn(" Cannot find S_NSSAI. "
|
||||
"Check 'amf.plmn.s_nssai' configuration");
|
||||
"Check 'amf.plmn_support.s_nssai' configuration");
|
||||
group = NGAP_Cause_PR_misc;
|
||||
cause = NGAP_CauseMisc_unknown_PLMN;
|
||||
|
||||
|
||||
@@ -1293,7 +1293,8 @@ ogs_pkbuf_t *s1ap_build_e_rab_modification_confirm(mme_ue_t *mme_ue)
|
||||
ie->value.present =
|
||||
S1AP_E_RABModificationConfirmIEs__value_PR_E_RABModifyListBearerModConf;
|
||||
|
||||
E_RABModifyListBearerModConf = &ie->value.choice.E_RABModifyListBearerModConf;
|
||||
E_RABModifyListBearerModConf =
|
||||
&ie->value.choice.E_RABModifyListBearerModConf;
|
||||
|
||||
ogs_debug(" ENB_UE_S1AP_ID[%d] MME_UE_S1AP_ID[%d]",
|
||||
enb_ue->enb_ue_s1ap_id, enb_ue->mme_ue_s1ap_id);
|
||||
|
||||
Reference in New Issue
Block a user