Follow-on up #1794

This commit is contained in:
Sukchan Lee 2022-10-02 19:41:52 +09:00
parent 1f2a8678ed
commit c537166d37
4 changed files with 17 additions and 12 deletions

View File

@ -651,6 +651,9 @@ typedef struct ogs_slice_data_s {
bool default_indicator;
uint32_t context_identifier; /* EPC for checking default APN */
#define OGS_ALL_APN_CONFIGURATIONS_INCLUDED 0
#define OGS_MODIFIED_ADDED_APN_CONFIGURATIONS_INCLUDED 1
uint32_t all_apn_config_inc;
int num_of_session;

View File

@ -1190,7 +1190,7 @@ int hss_db_poll_change_stream(void)
int hss_handle_change_event(const bson_t *document)
{
bson_iter_t iter, child1_iter, child2_iter, child3_iter;
bson_iter_t iter, child1_iter, child2_iter;
char *utf8 = NULL;
uint32_t length = 0;

View File

@ -458,7 +458,7 @@ static int hss_s6a_avp_add_subscription_data(
ogs_diam_s6a_all_apn_configuration_included_indicator, 0,
&all_apn_configuration_included_indicator);
ogs_assert(ret == 0);
val.i32 = 0;
val.i32 = OGS_ALL_APN_CONFIGURATIONS_INCLUDED;
ret = fd_msg_avp_setvalue(
all_apn_configuration_included_indicator, &val);
ogs_assert(ret == 0);

View File

@ -77,7 +77,7 @@ uint8_t mme_s6a_handle_ula(
ogs_diam_s6a_ula_message_t *ula_message = NULL;
ogs_subscription_data_t *subscription_data = NULL;
ogs_slice_data_t *slice_data = NULL;
int rv;
int rv, num_of_session;
ogs_assert(mme_ue);
ogs_assert(s6a_message);
@ -98,12 +98,12 @@ uint8_t mme_s6a_handle_ula(
mme_session_remove_all(mme_ue);
rv = mme_ue_session_from_slice_data(mme_ue, slice_data);
if (rv == 0) {
num_of_session = mme_ue_session_from_slice_data(mme_ue, slice_data);
if (num_of_session == 0) {
ogs_error("No Session");
return OGS_NAS_EMM_CAUSE_SEVERE_NETWORK_FAILURE;
}
mme_ue->num_of_session = rv;
mme_ue->num_of_session = num_of_session;
mme_ue->context_identifier = slice_data->context_identifier;
@ -132,7 +132,7 @@ uint8_t mme_s6a_handle_idr(
ogs_diam_s6a_idr_message_t *idr_message = NULL;
ogs_subscription_data_t *subscription_data = NULL;
ogs_slice_data_t *slice_data = NULL;
int rv;
int num_of_session;
ogs_assert(mme_ue);
ogs_assert(s6a_message);
@ -149,16 +149,18 @@ uint8_t mme_s6a_handle_idr(
ogs_assert(subscription_data->num_of_slice == 1);
slice_data = &subscription_data->slice[0];
if (!slice_data->all_apn_config_inc) {
if (slice_data->all_apn_config_inc ==
OGS_ALL_APN_CONFIGURATIONS_INCLUDED) {
mme_session_remove_all(mme_ue);
rv = mme_ue_session_from_slice_data(mme_ue, slice_data);
if (rv == 0) {
num_of_session = mme_ue_session_from_slice_data(mme_ue, slice_data);
if (num_of_session == 0) {
ogs_error("No Session");
return OGS_ERROR;
}
mme_ue->num_of_session = rv;
mme_ue->num_of_session = num_of_session;
} else {
ogs_error ("Partial APN-Configuration Not Supported in IDR.");
ogs_error ("[%d] Partial APN-Configuration Not Supported in IDR.",
slice_data->all_apn_config_inc);
return OGS_ERROR;
}