fix: adjust the actual path amf.plmn_support (#825)

This commit is contained in:
Sukchan Lee
2021-03-20 09:17:14 +09:00
parent c848919af4
commit 52cd51ca6a
4 changed files with 3 additions and 146 deletions

View File

@@ -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)
{

View File

@@ -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);

View File

@@ -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;

View File

@@ -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);