forked from acouzens/open5gs
[UDM] Handle SDM unsubscribe
This commit is contained in:
parent
dbd0e654c8
commit
89c3f3e1c0
|
@ -561,3 +561,30 @@ bool udm_nudm_sdm_handle_subscription_create(
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool udm_nudm_sdm_handle_subscription_delete(
|
||||||
|
udm_ue_t *udm_ue, ogs_sbi_stream_t *stream, ogs_sbi_message_t *recvmsg)
|
||||||
|
{
|
||||||
|
ogs_sbi_message_t sendmsg;
|
||||||
|
ogs_sbi_response_t *response = NULL;
|
||||||
|
ogs_sbi_server_t *server = NULL;
|
||||||
|
|
||||||
|
ogs_assert(udm_ue);
|
||||||
|
ogs_assert(stream);
|
||||||
|
ogs_assert(recvmsg);
|
||||||
|
|
||||||
|
if (udm_ue->data_change_callback_uri) {
|
||||||
|
ogs_free(udm_ue->data_change_callback_uri);
|
||||||
|
udm_ue->data_change_callback_uri = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
server = ogs_sbi_server_from_stream(stream);
|
||||||
|
ogs_assert(server);
|
||||||
|
|
||||||
|
memset(&sendmsg, 0, sizeof(sendmsg));
|
||||||
|
response = ogs_sbi_build_response(&sendmsg, OGS_SBI_HTTP_STATUS_NO_CONTENT);
|
||||||
|
ogs_assert(response);
|
||||||
|
ogs_sbi_server_send_response(stream, response);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
|
@ -40,6 +40,8 @@ bool udm_nudm_sdm_handle_subscription_provisioned(
|
||||||
udm_ue_t *udm_ue, ogs_sbi_stream_t *stream, ogs_sbi_message_t *recvmsg);
|
udm_ue_t *udm_ue, ogs_sbi_stream_t *stream, ogs_sbi_message_t *recvmsg);
|
||||||
bool udm_nudm_sdm_handle_subscription_create(
|
bool udm_nudm_sdm_handle_subscription_create(
|
||||||
udm_ue_t *udm_ue, ogs_sbi_stream_t *stream, ogs_sbi_message_t *recvmsg);
|
udm_ue_t *udm_ue, ogs_sbi_stream_t *stream, ogs_sbi_message_t *recvmsg);
|
||||||
|
bool udm_nudm_sdm_handle_subscription_delete(
|
||||||
|
udm_ue_t *udm_ue, ogs_sbi_stream_t *stream, ogs_sbi_message_t *recvmsg);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -180,6 +180,23 @@ void udm_ue_state_operational(ogs_fsm_t *s, udm_event_t *e)
|
||||||
"Invalid resource name", message->h.method));
|
"Invalid resource name", message->h.method));
|
||||||
END
|
END
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
CASE(OGS_SBI_HTTP_METHOD_DELETE)
|
||||||
|
SWITCH(message->h.resource.component[1])
|
||||||
|
CASE(OGS_SBI_RESOURCE_NAME_SDM_SUBSCRIPTIONS)
|
||||||
|
udm_nudm_sdm_handle_subscription_delete(
|
||||||
|
udm_ue, stream, message);
|
||||||
|
break;
|
||||||
|
|
||||||
|
DEFAULT
|
||||||
|
ogs_error("[%s] Invalid resource name [%s]",
|
||||||
|
udm_ue->suci, message->h.resource.component[1]);
|
||||||
|
ogs_assert(true ==
|
||||||
|
ogs_sbi_server_send_error(stream,
|
||||||
|
OGS_SBI_HTTP_STATUS_BAD_REQUEST, message,
|
||||||
|
"Invalid resource name", message->h.method));
|
||||||
|
END
|
||||||
|
break;
|
||||||
DEFAULT
|
DEFAULT
|
||||||
ogs_error("[%s] Invalid HTTP method [%s]",
|
ogs_error("[%s] Invalid HTTP method [%s]",
|
||||||
udm_ue->supi, message->h.method);
|
udm_ue->supi, message->h.method);
|
||||||
|
|
Loading…
Reference in New Issue