diff --git a/src/pcf/namf-build.c b/src/pcf/namf-build.c new file mode 100644 index 000000000..4e99fab39 --- /dev/null +++ b/src/pcf/namf-build.c @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2019 by Sukchan Lee + * + * This file is part of Open5GS. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "namf-build.h" + +ogs_sbi_request_t *pcf_namf_callback_build_am_policy_control( + pcf_ue_t *pcf_ue, void *data) +{ + ogs_sbi_message_t message; + ogs_sbi_request_t *request = NULL; + + OpenAPI_policy_update_t PolicyUpdate; + + ogs_assert(pcf_ue); + ogs_assert(pcf_ue->notification_uri); + + memset(&PolicyUpdate, 0, sizeof(PolicyUpdate)); + + memset(&message, 0, sizeof(message)); + message.h.method = (char *)OGS_SBI_HTTP_METHOD_POST; + message.h.uri = pcf_ue->notification_uri; + + message.PolicyUpdate = &PolicyUpdate; + + request = ogs_sbi_build_request(&message); + ogs_assert(request); + + return request; +} diff --git a/src/pcf/namf-build.h b/src/pcf/namf-build.h new file mode 100644 index 000000000..acf7058ba --- /dev/null +++ b/src/pcf/namf-build.h @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2019 by Sukchan Lee + * + * This file is part of Open5GS. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#ifndef PCF_NAMF_BUILD_H +#define PCF_NAMF_BUILD_H + +#include "context.h" + +#ifdef __cplusplus +extern "C" { +#endif + +ogs_sbi_request_t *pcf_namf_callback_build_am_policy_control( + pcf_ue_t *pcf_ue, void *data); + +#ifdef __cplusplus +} +#endif + +#endif /* PCF_NAMF_BUILD_H */ diff --git a/src/pcf/nsmf-build.c b/src/pcf/nsmf-build.c new file mode 100644 index 000000000..ac105a43b --- /dev/null +++ b/src/pcf/nsmf-build.c @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2019 by Sukchan Lee + * + * This file is part of Open5GS. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "nsmf-build.h" + +ogs_sbi_request_t *pcf_nsmf_callback_build_smpolicycontrol( + pcf_sess_t *sess, void *data) +{ + ogs_sbi_message_t message; + ogs_sbi_request_t *request = NULL; + + OpenAPI_sm_policy_notification_t SmPolicyNotification; + + ogs_assert(sess); + ogs_assert(sess->notification_uri); + + memset(&SmPolicyNotification, 0, sizeof(SmPolicyNotification)); + + memset(&message, 0, sizeof(message)); + message.h.method = (char *)OGS_SBI_HTTP_METHOD_POST; + message.h.uri = sess->notification_uri; + + message.SmPolicyNotification = &SmPolicyNotification; + + request = ogs_sbi_build_request(&message); + ogs_assert(request); + + return request; +} diff --git a/src/pcf/nsmf-build.h b/src/pcf/nsmf-build.h new file mode 100644 index 000000000..a40e96cbc --- /dev/null +++ b/src/pcf/nsmf-build.h @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2019 by Sukchan Lee + * + * This file is part of Open5GS. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#ifndef PCF_NSMF_BUILD_H +#define PCF_NSMF_BUILD_H + +#include "context.h" + +#ifdef __cplusplus +extern "C" { +#endif + +ogs_sbi_request_t *pcf_nsmf_callback_build_smpolicycontrol( + pcf_sess_t *sess, void *data); + +#ifdef __cplusplus +} +#endif + +#endif /* PCF_NSMF_BUILD_H */