diff --git a/openair2/COMMON/s1ap_messages_types.h b/openair2/COMMON/s1ap_messages_types.h index 6f7aab94224548a74a636261bf834b2eec7c1451..f56a340cb24d7df4c9db45b4c6f6b156568c2817 100644 --- a/openair2/COMMON/s1ap_messages_types.h +++ b/openair2/COMMON/s1ap_messages_types.h @@ -376,6 +376,10 @@ typedef struct s1ap_nas_first_req_s { /* UE id for initial connection to S1AP */ uint16_t ue_initial_id; + /* the chosen PLMN identity as index, see TS 36.331 6.2.2 RRC Connection + * Setup Complete. This index here is zero-based, unlike the standard! */ + int selected_plmn_identity; + /* Establishment cause as sent by UE */ rrc_establishment_cause_t establishment_cause; diff --git a/openair2/RRC/LTE/rrc_eNB_S1AP.c b/openair2/RRC/LTE/rrc_eNB_S1AP.c index 2c28dd4e0fb9c24fb94ad5e3f09f005a0198a0b3..5eb495f37bac1b1b58da1b834d13d52eaba784ce 100644 --- a/openair2/RRC/LTE/rrc_eNB_S1AP.c +++ b/openair2/RRC/LTE/rrc_eNB_S1AP.c @@ -757,6 +757,7 @@ rrc_eNB_send_S1AP_NAS_FIRST_REQ( /* selected_plmn_identity: IE is 1-based, convert to 0-based (C array) */ int selected_plmn_identity = rrcConnectionSetupComplete->selectedPLMN_Identity - 1; + S1AP_NAS_FIRST_REQ(message_p).selected_plmn_identity = selected_plmn_identity; if (rrcConnectionSetupComplete->registeredMME != NULL) { /* Fill GUMMEI */