diff --git a/src/amf/gmm-sm.c b/src/amf/gmm-sm.c index d94096af5..7dc59ec73 100644 --- a/src/amf/gmm-sm.c +++ b/src/amf/gmm-sm.c @@ -1229,7 +1229,15 @@ static void common_register_state(ogs_fsm_t *s, amf_event_t *e, break; } - if (!PCF_AM_POLICY_ASSOCIATED(amf_ue)) { + if (!UDM_SDM_SUBSCRIBED(amf_ue)) { + r = amf_ue_sbi_discover_and_send( + OGS_SBI_SERVICE_TYPE_NUDM_UECM, NULL, + amf_nudm_uecm_build_registration, amf_ue, 0, NULL); + ogs_expect(r == OGS_OK); + ogs_assert(r != OGS_ERROR); + OGS_FSM_TRAN(s, &gmm_state_initial_context_setup); + break; + } else if (!PCF_AM_POLICY_ASSOCIATED(amf_ue)) { r = amf_ue_sbi_discover_and_send( OGS_SBI_SERVICE_TYPE_NPCF_AM_POLICY_CONTROL, NULL,