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;
|
||||
}
|
||||
|
||||
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);
|
||||
bool udm_nudm_sdm_handle_subscription_create(
|
||||
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
|
||||
}
|
||||
|
|
|
@ -180,6 +180,23 @@ void udm_ue_state_operational(ogs_fsm_t *s, udm_event_t *e)
|
|||
"Invalid resource name", message->h.method));
|
||||
END
|
||||
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
|
||||
ogs_error("[%s] Invalid HTTP method [%s]",
|
||||
udm_ue->supi, message->h.method);
|
||||
|
|
Loading…
Reference in New Issue