diff --git a/src/mme/mme-fd-path.c b/src/mme/mme-fd-path.c index ec016574d9..7666b60092 100644 --- a/src/mme/mme-fd-path.c +++ b/src/mme/mme-fd-path.c @@ -704,11 +704,23 @@ static void mme_s6a_ula_cb(void *data, struct msg **msg) ogs_error("no_Max-Bandwidth-DL"); error++; } + } else { ogs_error("no_AMBR"); error++; } + ret = fd_avp_search_avp(avp, s6a_subscribed_rau_tau_timer, &avpch1); + ogs_assert(ret == 0); + if (avp) { + ret = fd_msg_avp_hdr(avpch1, &hdr); + ogs_assert(ret == 0); + subscription_data->subscribed_rau_tau_timer = hdr->avp_value->i32; + } else { + ogs_error("no_Subscribed_RAU-TAU-Timer"); + error++; + } + ret = fd_avp_search_avp(avp, s6a_apn_configuration_profile, &avpch1); ogs_assert(ret == 0); if (avpch1) { @@ -926,17 +938,6 @@ static void mme_s6a_ula_cb(void *data, struct msg **msg) error++; } - ret = fd_msg_search_avp(*msg, s6a_subscribed_rau_tau_timer, &avp); - ogs_assert(ret == 0); - if (avp) { - ret = fd_msg_avp_hdr(avp, &hdr); - ogs_assert(ret == 0); - subscription_data->subscribed_rau_tau_timer = hdr->avp_value->i32; - } else { - ogs_error("no_Subscribed_RAU-TAU-Timer"); - error++; - } - if (!error) { int rv; e = mme_event_new(MME_EVT_S6A_MESSAGE);