Projects
osmocom:nightly
open5gs
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 17
View file
open5gs_2.4.8.202207110002.dsc -> open5gs_2.4.8.202207120002.dsc
Changed
@@ -2,7 +2,7 @@ Source: open5gs Binary: open5gs-common, open5gs-mme, open5gs-sgwc, open5gs-smf, open5gs-amf, open5gs-sgwu, open5gs-upf, open5gs-hss, open5gs-pcrf, open5gs-nrf, open5gs-ausf, open5gs-udm, open5gs-pcf, open5gs-nssf, open5gs-bsf, open5gs-udr, open5gs, open5gs-dbg Architecture: any -Version: 2.4.8.202207110002 +Version: 2.4.8.202207120002 Maintainer: Harald Welte <laforge@gnumonks.org> Uploaders: Sukchan Lee <acetcom@gmail.com> Homepage: https://open5gs.org @@ -30,8 +30,8 @@ open5gs-udr deb net optional arch=any open5gs-upf deb net optional arch=any Checksums-Sha1: - e6af4bf9ede5acdaa2210fd6dda4452274417d98 11445032 open5gs_2.4.8.202207110002.tar.xz + 062782251c37c53713d6e19c1e926ad221273156 11445624 open5gs_2.4.8.202207120002.tar.xz Checksums-Sha256: - 94fd36b5bc627a03e78e482fb142b82324d4ec4c2924b1a8b77685ed56d6ec00 11445032 open5gs_2.4.8.202207110002.tar.xz + 2990b487da28944bd1d0f716fafeb11190f25f65a1b31bad72654fb5065bfa6d 11445624 open5gs_2.4.8.202207120002.tar.xz Files: - 27e275201cf6576b9a52f7acdce3b895 11445032 open5gs_2.4.8.202207110002.tar.xz + ea35bc24692ef71676ef42ed22439031 11445624 open5gs_2.4.8.202207120002.tar.xz
View file
open5gs_2.4.8.202207110002.tar.xz/debian/changelog -> open5gs_2.4.8.202207120002.tar.xz/debian/changelog
Changed
@@ -1,8 +1,8 @@ -open5gs (2.4.8.202207110002) UNRELEASED; urgency=medium +open5gs (2.4.8.202207120002) UNRELEASED; urgency=medium * Snapshot build - -- Sukchan Lee <acetcom@gmail.com> Mon, 11 Jul 2022 00:09:02 +0000 + -- Sukchan Lee <acetcom@gmail.com> Tue, 12 Jul 2022 00:09:06 +0000 open5gs (2.4.8) unstable; urgency=medium
View file
open5gs_2.4.8.202207110002.tar.xz/debian/control -> open5gs_2.4.8.202207120002.tar.xz/debian/control
Changed
@@ -31,7 +31,7 @@ Package: open5gs-common Architecture: any Multi-Arch: same -Depends: osmocom-nightly (= 1.0.0.202207110002), ${shlibs:Depends}, +Depends: osmocom-nightly (= 1.0.0.202207120002), ${shlibs:Depends}, ${misc:Depends} Description: 5G Core and EPC (Shared Files) Open5GS is a C-language implementation of 5G Core and EPC @@ -43,7 +43,7 @@ Package: open5gs-mme Architecture: any Multi-Arch: same -Depends: osmocom-nightly (= 1.0.0.202207110002), ${shlibs:Depends}, +Depends: osmocom-nightly (= 1.0.0.202207120002), ${shlibs:Depends}, ${misc:Depends}, open5gs-common (= ${binary:Version}) Description: MME (Mobility Management Entity) @@ -58,7 +58,7 @@ Package: open5gs-sgwc Architecture: any Multi-Arch: same -Depends: osmocom-nightly (= 1.0.0.202207110002), ${shlibs:Depends}, +Depends: osmocom-nightly (= 1.0.0.202207120002), ${shlibs:Depends}, ${misc:Depends}, open5gs-common (= ${binary:Version}) Description: SGW-C (Serving Gateway - Control Plane) @@ -72,7 +72,7 @@ Package: open5gs-smf Architecture: any Multi-Arch: same -Depends: osmocom-nightly (= 1.0.0.202207110002), ${shlibs:Depends}, +Depends: osmocom-nightly (= 1.0.0.202207120002), ${shlibs:Depends}, ${misc:Depends}, open5gs-common (= ${binary:Version}) Description: SMF (Session Management Function) @@ -84,7 +84,7 @@ Package: open5gs-amf Architecture: any Multi-Arch: same -Depends: osmocom-nightly (= 1.0.0.202207110002), ${shlibs:Depends}, +Depends: osmocom-nightly (= 1.0.0.202207120002), ${shlibs:Depends}, ${misc:Depends}, open5gs-common (= ${binary:Version}) Description: AMF (Access and Mobility Management Function) @@ -96,7 +96,7 @@ Package: open5gs-sgwu Architecture: any Multi-Arch: same -Depends: osmocom-nightly (= 1.0.0.202207110002), ${shlibs:Depends}, +Depends: osmocom-nightly (= 1.0.0.202207120002), ${shlibs:Depends}, ${misc:Depends}, open5gs-common (= ${binary:Version}) Description: SGW-U (Serving Gateway - User Plane) @@ -110,7 +110,7 @@ Package: open5gs-upf Architecture: any Multi-Arch: same -Depends: osmocom-nightly (= 1.0.0.202207110002), ${shlibs:Depends}, +Depends: osmocom-nightly (= 1.0.0.202207120002), ${shlibs:Depends}, ${misc:Depends}, udev, open5gs-common (= ${binary:Version}) @@ -123,7 +123,7 @@ Package: open5gs-hss Architecture: any Multi-Arch: same -Depends: osmocom-nightly (= 1.0.0.202207110002), ${shlibs:Depends}, +Depends: osmocom-nightly (= 1.0.0.202207120002), ${shlibs:Depends}, ${misc:Depends}, mongodb-org | mongodb, open5gs-common (= ${binary:Version}) @@ -140,7 +140,7 @@ Package: open5gs-pcrf Architecture: any Multi-Arch: same -Depends: osmocom-nightly (= 1.0.0.202207110002), ${shlibs:Depends}, +Depends: osmocom-nightly (= 1.0.0.202207120002), ${shlibs:Depends}, ${misc:Depends}, mongodb-org | mongodb, open5gs-common (= ${binary:Version}) @@ -156,7 +156,7 @@ Package: open5gs-nrf Architecture: any Multi-Arch: same -Depends: osmocom-nightly (= 1.0.0.202207110002), ${shlibs:Depends}, +Depends: osmocom-nightly (= 1.0.0.202207120002), ${shlibs:Depends}, ${misc:Depends}, open5gs-common (= ${binary:Version}) Description: NRF (Network Repository Function) @@ -168,7 +168,7 @@ Package: open5gs-ausf Architecture: any Multi-Arch: same -Depends: osmocom-nightly (= 1.0.0.202207110002), ${shlibs:Depends}, +Depends: osmocom-nightly (= 1.0.0.202207120002), ${shlibs:Depends}, ${misc:Depends}, open5gs-common (= ${binary:Version}) Description: AUSF (Authentication Server Function) @@ -180,7 +180,7 @@ Package: open5gs-udm Architecture: any Multi-Arch: same -Depends: osmocom-nightly (= 1.0.0.202207110002), ${shlibs:Depends}, +Depends: osmocom-nightly (= 1.0.0.202207120002), ${shlibs:Depends}, ${misc:Depends}, open5gs-common (= ${binary:Version}) Description: UDM (Unified Data Management) @@ -192,7 +192,7 @@ Package: open5gs-pcf Architecture: any Multi-Arch: same -Depends: osmocom-nightly (= 1.0.0.202207110002), ${shlibs:Depends}, +Depends: osmocom-nightly (= 1.0.0.202207120002), ${shlibs:Depends}, ${misc:Depends}, open5gs-common (= ${binary:Version}) Description: PCF (Policy Control Function) @@ -204,7 +204,7 @@ Package: open5gs-nssf Architecture: any Multi-Arch: same -Depends: osmocom-nightly (= 1.0.0.202207110002), ${shlibs:Depends}, +Depends: osmocom-nightly (= 1.0.0.202207120002), ${shlibs:Depends}, ${misc:Depends}, open5gs-common (= ${binary:Version}) Description: NSSF (Network Slice Selection Function) @@ -216,7 +216,7 @@ Package: open5gs-bsf Architecture: any Multi-Arch: same -Depends: osmocom-nightly (= 1.0.0.202207110002), ${shlibs:Depends}, +Depends: osmocom-nightly (= 1.0.0.202207120002), ${shlibs:Depends}, ${misc:Depends}, open5gs-common (= ${binary:Version}) Description: BSF (Binding Support Function) @@ -228,7 +228,7 @@ Package: open5gs-udr Architecture: any Multi-Arch: same -Depends: osmocom-nightly (= 1.0.0.202207110002), ${shlibs:Depends}, +Depends: osmocom-nightly (= 1.0.0.202207120002), ${shlibs:Depends}, ${misc:Depends}, open5gs-common (= ${binary:Version}) Description: UDR (Unified Data Repository) @@ -240,7 +240,7 @@ Package: open5gs Architecture: any Multi-Arch: same -Depends: osmocom-nightly (= 1.0.0.202207110002), ${misc:Depends}, +Depends: osmocom-nightly (= 1.0.0.202207120002), ${misc:Depends}, open5gs-common (= ${binary:Version}), open5gs-mme (= ${binary:Version}), open5gs-sgwc (= ${binary:Version}), @@ -266,7 +266,7 @@ Package: open5gs-dbg Architecture: any Multi-Arch: same -Depends: osmocom-nightly (= 1.0.0.202207110002), ${misc:Depends}, +Depends: osmocom-nightly (= 1.0.0.202207120002), ${misc:Depends}, open5gs (= ${binary:Version}) Description: Debug symbols for Open5GS Open5GS is a C-language implementation of 5G Core and EPC
View file
open5gs_2.4.8.202207110002.tar.xz/lib/nas/5gs/decoder.c -> open5gs_2.4.8.202207120002.tar.xz/lib/nas/5gs/decoder.c
Changed
@@ -28,7 +28,7 @@ /******************************************************************************* * This file had been created by nas-message.py script v0.2.0 * Please do not modify this file but regenerate it via script. - * Created on: 2022-01-22 09:24:09.045630 by acetcom + * Created on: 2022-07-11 07:09:47.173881 by ubuntu * from 24501-g41.docx ******************************************************************************/ @@ -979,7 +979,7 @@ int decoded = 0; int size = 0; - ogs_trace("NAS Decode DEREGISTRATION_REQUEST\n"); + ogs_trace("NAS Decode DEREGISTRATION_REQUEST_FROM_UE\n"); size = ogs_nas_5gs_decode_de_registration_type(&deregistration_request_from_ue->de_registration_type, pkbuf); if (size < 0) { @@ -1006,7 +1006,7 @@ int decoded = 0; int size = 0; - ogs_trace("NAS Decode DEREGISTRATION_REQUEST\n"); + ogs_trace("NAS Decode DEREGISTRATION_REQUEST_TO_UE\n"); size = ogs_nas_5gs_decode_de_registration_type(&deregistration_request_to_ue->de_registration_type, pkbuf); if (size < 0) { @@ -1028,34 +1028,34 @@ decoded += size; switch(type) { - case OGS_NAS_5GS_DEREGISTRATION_REQUEST_5GMM_CAUSE_TYPE: + case OGS_NAS_5GS_DEREGISTRATION_REQUEST_TO_UE_5GMM_CAUSE_TYPE: size = ogs_nas_5gs_decode_5gmm_cause(&deregistration_request_to_ue->gmm_cause, pkbuf); if (size < 0) { ogs_error("ogs_nas_5gs_decode_5gmm_cause() failed"); return size; } - deregistration_request_to_ue->presencemask |= OGS_NAS_5GS_DEREGISTRATION_REQUEST_5GMM_CAUSE_PRESENT; + deregistration_request_to_ue->presencemask |= OGS_NAS_5GS_DEREGISTRATION_REQUEST_TO_UE_5GMM_CAUSE_PRESENT; decoded += size; break; - case OGS_NAS_5GS_DEREGISTRATION_REQUEST_T3346_VALUE_TYPE: + case OGS_NAS_5GS_DEREGISTRATION_REQUEST_TO_UE_T3346_VALUE_TYPE: size = ogs_nas_5gs_decode_gprs_timer_2(&deregistration_request_to_ue->t3346_value, pkbuf); if (size < 0) { ogs_error("ogs_nas_5gs_decode_gprs_timer_2() failed"); return size; } - deregistration_request_to_ue->presencemask |= OGS_NAS_5GS_DEREGISTRATION_REQUEST_T3346_VALUE_PRESENT; + deregistration_request_to_ue->presencemask |= OGS_NAS_5GS_DEREGISTRATION_REQUEST_TO_UE_T3346_VALUE_PRESENT; decoded += size; break; - case OGS_NAS_5GS_DEREGISTRATION_REQUEST_REJECTED_NSSAI_TYPE: + case OGS_NAS_5GS_DEREGISTRATION_REQUEST_TO_UE_REJECTED_NSSAI_TYPE: size = ogs_nas_5gs_decode_rejected_nssai(&deregistration_request_to_ue->rejected_nssai, pkbuf); if (size < 0) { ogs_error("ogs_nas_5gs_decode_rejected_nssai() failed"); return size; } - deregistration_request_to_ue->presencemask |= OGS_NAS_5GS_DEREGISTRATION_REQUEST_REJECTED_NSSAI_PRESENT; + deregistration_request_to_ue->presencemask |= OGS_NAS_5GS_DEREGISTRATION_REQUEST_TO_UE_REJECTED_NSSAI_PRESENT; decoded += size; break; default: @@ -3742,7 +3742,7 @@ decoded += size; break; - case OGS_NAS_5GS_DEREGISTRATION_REQUEST: + case OGS_NAS_5GS_DEREGISTRATION_REQUEST_FROM_UE: size = ogs_nas_5gs_decode_deregistration_request_from_ue(message, pkbuf); if (size < 0) { ogs_error("ogs_nas_5gs_decode_deregistration_request_from_ue() failed"); @@ -3751,7 +3751,18 @@ decoded += size; break; - case OGS_NAS_5GS_DEREGISTRATION_ACCEPT: + case OGS_NAS_5GS_DEREGISTRATION_ACCEPT_FROM_UE: + break; + case OGS_NAS_5GS_DEREGISTRATION_REQUEST_TO_UE: + size = ogs_nas_5gs_decode_deregistration_request_to_ue(message, pkbuf); + if (size < 0) { + ogs_error("ogs_nas_5gs_decode_deregistration_request_to_ue() failed"); + return size; + } + + decoded += size; + break; + case OGS_NAS_5GS_DEREGISTRATION_ACCEPT_TO_UE: break; case OGS_NAS_5GS_SERVICE_REQUEST: size = ogs_nas_5gs_decode_service_request(message, pkbuf);
View file
open5gs_2.4.8.202207110002.tar.xz/lib/nas/5gs/encoder.c -> open5gs_2.4.8.202207120002.tar.xz/lib/nas/5gs/encoder.c
Changed
@@ -28,7 +28,7 @@ /******************************************************************************* * This file had been created by nas-message.py script v0.2.0 * Please do not modify this file but regenerate it via script. - * Created on: 2022-01-22 09:24:09.053958 by acetcom + * Created on: 2022-07-11 07:09:47.188485 by ubuntu * from 24501-g41.docx ******************************************************************************/ @@ -851,7 +851,7 @@ int encoded = 0; int size = 0; - ogs_trace("NAS Encode DEREGISTRATION_REQUEST"); + ogs_trace("NAS Encode DEREGISTRATION_REQUEST_FROM_UE"); size = ogs_nas_5gs_encode_de_registration_type(pkbuf, &deregistration_request_from_ue->de_registration_type); ogs_assert(size >= 0); @@ -870,14 +870,14 @@ int encoded = 0; int size = 0; - ogs_trace("NAS Encode DEREGISTRATION_REQUEST"); + ogs_trace("NAS Encode DEREGISTRATION_REQUEST_TO_UE"); size = ogs_nas_5gs_encode_de_registration_type(pkbuf, &deregistration_request_to_ue->de_registration_type); ogs_assert(size >= 0); encoded += size; - if (deregistration_request_to_ue->presencemask & OGS_NAS_5GS_DEREGISTRATION_REQUEST_5GMM_CAUSE_PRESENT) { - size = ogs_nas_5gs_encode_optional_type(pkbuf, OGS_NAS_5GS_DEREGISTRATION_REQUEST_5GMM_CAUSE_TYPE); + if (deregistration_request_to_ue->presencemask & OGS_NAS_5GS_DEREGISTRATION_REQUEST_TO_UE_5GMM_CAUSE_PRESENT) { + size = ogs_nas_5gs_encode_optional_type(pkbuf, OGS_NAS_5GS_DEREGISTRATION_REQUEST_TO_UE_5GMM_CAUSE_TYPE); ogs_assert(size >= 0); encoded += size; @@ -886,8 +886,8 @@ encoded += size; } - if (deregistration_request_to_ue->presencemask & OGS_NAS_5GS_DEREGISTRATION_REQUEST_T3346_VALUE_PRESENT) { - size = ogs_nas_5gs_encode_optional_type(pkbuf, OGS_NAS_5GS_DEREGISTRATION_REQUEST_T3346_VALUE_TYPE); + if (deregistration_request_to_ue->presencemask & OGS_NAS_5GS_DEREGISTRATION_REQUEST_TO_UE_T3346_VALUE_PRESENT) { + size = ogs_nas_5gs_encode_optional_type(pkbuf, OGS_NAS_5GS_DEREGISTRATION_REQUEST_TO_UE_T3346_VALUE_TYPE); ogs_assert(size >= 0); encoded += size; @@ -896,8 +896,8 @@ encoded += size; } - if (deregistration_request_to_ue->presencemask & OGS_NAS_5GS_DEREGISTRATION_REQUEST_REJECTED_NSSAI_PRESENT) { - size = ogs_nas_5gs_encode_optional_type(pkbuf, OGS_NAS_5GS_DEREGISTRATION_REQUEST_REJECTED_NSSAI_TYPE); + if (deregistration_request_to_ue->presencemask & OGS_NAS_5GS_DEREGISTRATION_REQUEST_TO_UE_REJECTED_NSSAI_PRESENT) { + size = ogs_nas_5gs_encode_optional_type(pkbuf, OGS_NAS_5GS_DEREGISTRATION_REQUEST_TO_UE_REJECTED_NSSAI_TYPE); ogs_assert(size >= 0); encoded += size; @@ -2848,12 +2848,19 @@ ogs_assert(size >= 0); encoded += size; break; - case OGS_NAS_5GS_DEREGISTRATION_REQUEST: + case OGS_NAS_5GS_DEREGISTRATION_REQUEST_FROM_UE: + size = ogs_nas_5gs_encode_deregistration_request_from_ue(pkbuf, message); + ogs_assert(size >= 0); + encoded += size; + break; + case OGS_NAS_5GS_DEREGISTRATION_ACCEPT_FROM_UE: + break; + case OGS_NAS_5GS_DEREGISTRATION_REQUEST_TO_UE: size = ogs_nas_5gs_encode_deregistration_request_to_ue(pkbuf, message); ogs_assert(size >= 0); encoded += size; break; - case OGS_NAS_5GS_DEREGISTRATION_ACCEPT: + case OGS_NAS_5GS_DEREGISTRATION_ACCEPT_TO_UE: break; case OGS_NAS_5GS_SERVICE_REQUEST: size = ogs_nas_5gs_encode_service_request(pkbuf, message);
View file
open5gs_2.4.8.202207110002.tar.xz/lib/nas/5gs/ies.c -> open5gs_2.4.8.202207120002.tar.xz/lib/nas/5gs/ies.c
Changed
@@ -28,7 +28,7 @@ /******************************************************************************* * This file had been created by nas-message.py script v0.2.0 * Please do not modify this file but regenerate it via script. - * Created on: 2022-01-22 09:24:09.032504 by acetcom + * Created on: 2022-07-11 07:09:47.151738 by ubuntu * from 24501-g41.docx ******************************************************************************/
View file
open5gs_2.4.8.202207110002.tar.xz/lib/nas/5gs/ies.h -> open5gs_2.4.8.202207120002.tar.xz/lib/nas/5gs/ies.h
Changed
@@ -28,7 +28,7 @@ /******************************************************************************* * This file had been created by nas-message.py script v0.2.0 * Please do not modify this file but regenerate it via script. - * Created on: 2022-01-22 09:24:09.029942 by acetcom + * Created on: 2022-07-11 07:09:47.146947 by ubuntu * from 24501-g41.docx ******************************************************************************/
View file
open5gs_2.4.8.202207110002.tar.xz/lib/nas/5gs/message.h -> open5gs_2.4.8.202207120002.tar.xz/lib/nas/5gs/message.h
Changed
@@ -28,7 +28,7 @@ /******************************************************************************* * This file had been created by nas-message.py script v0.2.0 * Please do not modify this file but regenerate it via script. - * Created on: 2022-01-22 09:24:09.040249 by acetcom + * Created on: 2022-07-11 07:09:47.165005 by ubuntu * from 24501-g41.docx ******************************************************************************/ @@ -72,8 +72,10 @@ #define OGS_NAS_5GS_REGISTRATION_ACCEPT 66 #define OGS_NAS_5GS_REGISTRATION_COMPLETE 67 #define OGS_NAS_5GS_REGISTRATION_REJECT 68 -#define OGS_NAS_5GS_DEREGISTRATION_REQUEST 69 -#define OGS_NAS_5GS_DEREGISTRATION_ACCEPT 70 +#define OGS_NAS_5GS_DEREGISTRATION_REQUEST_FROM_UE 69 +#define OGS_NAS_5GS_DEREGISTRATION_ACCEPT_FROM_UE 70 +#define OGS_NAS_5GS_DEREGISTRATION_REQUEST_TO_UE 71 +#define OGS_NAS_5GS_DEREGISTRATION_ACCEPT_TO_UE 72 #define OGS_NAS_5GS_SERVICE_REQUEST 76 #define OGS_NAS_5GS_SERVICE_REJECT 77 #define OGS_NAS_5GS_SERVICE_ACCEPT 78 @@ -396,12 +398,12 @@ /******************************************************* * DEREGISTRATION REQUEST TO UE ******************************************************/ -#define OGS_NAS_5GS_DEREGISTRATION_REQUEST_5GMM_CAUSE_PRESENT ((uint64_t)1<<0) -#define OGS_NAS_5GS_DEREGISTRATION_REQUEST_T3346_VALUE_PRESENT ((uint64_t)1<<1) -#define OGS_NAS_5GS_DEREGISTRATION_REQUEST_REJECTED_NSSAI_PRESENT ((uint64_t)1<<2) -#define OGS_NAS_5GS_DEREGISTRATION_REQUEST_5GMM_CAUSE_TYPE 0x58 -#define OGS_NAS_5GS_DEREGISTRATION_REQUEST_T3346_VALUE_TYPE 0x5F -#define OGS_NAS_5GS_DEREGISTRATION_REQUEST_REJECTED_NSSAI_TYPE 0x6D +#define OGS_NAS_5GS_DEREGISTRATION_REQUEST_TO_UE_5GMM_CAUSE_PRESENT ((uint64_t)1<<0) +#define OGS_NAS_5GS_DEREGISTRATION_REQUEST_TO_UE_T3346_VALUE_PRESENT ((uint64_t)1<<1) +#define OGS_NAS_5GS_DEREGISTRATION_REQUEST_TO_UE_REJECTED_NSSAI_PRESENT ((uint64_t)1<<2) +#define OGS_NAS_5GS_DEREGISTRATION_REQUEST_TO_UE_5GMM_CAUSE_TYPE 0x58 +#define OGS_NAS_5GS_DEREGISTRATION_REQUEST_TO_UE_T3346_VALUE_TYPE 0x5F +#define OGS_NAS_5GS_DEREGISTRATION_REQUEST_TO_UE_REJECTED_NSSAI_TYPE 0x6D typedef struct ogs_nas_5gs_deregistration_request_to_ue_s { /* Mandatory fields */
View file
open5gs_2.4.8.202207110002.tar.xz/lib/nas/5gs/support/nas-message.py -> open5gs_2.4.8.202207120002.tar.xz/lib/nas/5gs/support/nas-message.py
Changed
@@ -106,7 +106,7 @@ print("-h Print this help and return") def v_upper(v): - return re.sub('_TO_UE', '', re.sub('_FROM_UE', '', re.sub('\'', '_', re.sub('/', '_', re.sub('-', '_', re.sub(' ', '_', v)))).upper())) + return re.sub('\'', '_', re.sub('/', '_', re.sub('-', '_', re.sub(' ', '_', v)))).upper() def v_lower(v): return re.sub('\'', '_', re.sub('/', '_', re.sub('-', '_', re.sub(' ', '_', v)))).lower() @@ -550,8 +550,7 @@ """) for (k, v) in sorted_msg_list: - if k.find("TO UE") == -1: - f.write("#define OGS_NAS_5GS_" + v_upper(k) + " " + v.split('.')0 + "\n") + f.write("#define OGS_NAS_5GS_" + v_upper(k) + " " + v.split('.')0 + "\n") f.write("\n") for (k, v) in sorted_msg_list: @@ -749,7 +748,7 @@ for (k, v) in sorted_msg_list: if "ies" not in msg_listk: continue; - if float(msg_listk"type") < 192 and k.find("TO UE") == -1: + if float(msg_listk"type") < 192: f.write(" case OGS_NAS_5GS_%s:\n" % v_upper(k)) if len(msg_listk"ies") != 0: f.write(" size = ogs_nas_5gs_decode_%s(message, pkbuf);\n" % v_lower(k)) @@ -903,7 +902,7 @@ for (k, v) in sorted_msg_list: if "ies" not in msg_listk: continue; - if float(msg_listk"type") < 192 and k.find("FROM UE") == -1: + if float(msg_listk"type") < 192: f.write(" case OGS_NAS_5GS_%s:\n" % v_upper(k)) if len(msg_listk"ies") != 0: f.write(" size = ogs_nas_5gs_encode_%s(pkbuf, message);\n" % v_lower(k))
View file
open5gs_2.4.8.202207110002.tar.xz/lib/sbi/message.c -> open5gs_2.4.8.202207120002.tar.xz/lib/sbi/message.c
Changed
@@ -173,6 +173,8 @@ OpenAPI_sm_policy_notification_free(message->SmPolicyNotification); if (message->TerminationNotification) OpenAPI_termination_notification_free(message->TerminationNotification); + if (message->DeregistrationData) + OpenAPI_deregistration_data_free(message->DeregistrationData); for (i = 0; i < message->num_of_part; i++) { if (message->parti.pkbuf) @@ -888,6 +890,10 @@ item = OpenAPI_termination_notification_convertToJSON( message->TerminationNotification); ogs_assert(item); + } else if (message->DeregistrationData) { + item = OpenAPI_deregistration_data_convertToJSON( + message->DeregistrationData); + ogs_assert(item); } if (item) { @@ -1724,6 +1730,15 @@ rv = OGS_ERROR; ogs_error("JSON parse error"); } + break; + + CASE(OGS_SBI_RESOURCE_NAME_DEREG_NOTIFY) + message->DeregistrationData = + OpenAPI_deregistration_data_parseFromJSON(item); + if (!message->DeregistrationData) { + rv = OGS_ERROR; + ogs_error("JSON parse error"); + } break; DEFAULT
View file
open5gs_2.4.8.202207110002.tar.xz/lib/sbi/message.h -> open5gs_2.4.8.202207120002.tar.xz/lib/sbi/message.h
Changed
@@ -408,6 +408,7 @@ *AppSessionContextUpdateDataPatch; OpenAPI_sm_policy_notification_t *SmPolicyNotification; OpenAPI_termination_notification_t *TerminationNotification; + OpenAPI_deregistration_data_t *DeregistrationData; ogs_sbi_links_t *links;
View file
open5gs_2.4.8.202207110002.tar.xz/lib/sbi/ogs-sbi.h -> open5gs_2.4.8.202207120002.tar.xz/lib/sbi/ogs-sbi.h
Changed
@@ -73,6 +73,7 @@ #include "model/policy_update.h" #include "model/sm_policy_notification.h" #include "model/termination_notification.h" +#include "model/deregistration_data.h" #include "custom/links.h" #include "custom/ue_authentication_ctx.h"
View file
open5gs_2.4.8.202207110002.tar.xz/src/amf/amf-sm.c -> open5gs_2.4.8.202207120002.tar.xz/src/amf/amf-sm.c
Changed
@@ -209,11 +209,10 @@ stream, &sbi_message); break; - /* TODO */ -#if 0 CASE(OGS_SBI_RESOURCE_NAME_DEREG_NOTIFY) + amf_namf_callback_handle_dereg_notify(stream, &sbi_message); break; -#endif + CASE(OGS_SBI_RESOURCE_NAME_AM_POLICY_NOTIFY) ogs_assert(true == ogs_sbi_send_http_status_no_content(stream)); break;
View file
open5gs_2.4.8.202207110002.tar.xz/src/amf/context.c -> open5gs_2.4.8.202207120002.tar.xz/src/amf/context.c
Changed
@@ -1475,7 +1475,7 @@ mobile_identity_header->type); } break; - case OGS_NAS_5GS_DEREGISTRATION_REQUEST: + case OGS_NAS_5GS_DEREGISTRATION_REQUEST_FROM_UE: deregistration_request = &message->gmm.deregistration_request_from_ue; ogs_assert(deregistration_request); mobile_identity = &deregistration_request->mobile_identity;
View file
open5gs_2.4.8.202207110002.tar.xz/src/amf/context.h -> open5gs_2.4.8.202207120002.tar.xz/src/amf/context.h
Changed
@@ -408,6 +408,9 @@ long cause; } handover; + /* Network Initiated De-Registration */ + bool network_initiated_de_reg; + ogs_list_t sess_list; };
View file
open5gs_2.4.8.202207110002.tar.xz/src/amf/gmm-build.c -> open5gs_2.4.8.202207120002.tar.xz/src/amf/gmm-build.c
Changed
@@ -271,7 +271,36 @@ message.gmm.h.extended_protocol_discriminator = OGS_NAS_EXTENDED_PROTOCOL_DISCRIMINATOR_5GMM; - message.gmm.h.message_type = OGS_NAS_5GS_DEREGISTRATION_ACCEPT; + message.gmm.h.message_type = OGS_NAS_5GS_DEREGISTRATION_ACCEPT_FROM_UE; + + return nas_5gs_security_encode(amf_ue, &message); +} + +ogs_pkbuf_t *gmm_build_de_registration_request(amf_ue_t *amf_ue) +{ + ogs_nas_5gs_message_t message; + ogs_nas_5gs_deregistration_request_to_ue_t *dereg_req = + &message.gmm.deregistration_request_to_ue; + + ogs_assert(amf_ue); + + memset(&message, 0, sizeof(message)); + message.h.security_header_type = + OGS_NAS_SECURITY_HEADER_INTEGRITY_PROTECTED_AND_CIPHERED; + message.h.extended_protocol_discriminator = + OGS_NAS_EXTENDED_PROTOCOL_DISCRIMINATOR_5GMM; + + message.gmm.h.extended_protocol_discriminator = + OGS_NAS_EXTENDED_PROTOCOL_DISCRIMINATOR_5GMM; + message.gmm.h.message_type = OGS_NAS_5GS_DEREGISTRATION_REQUEST_TO_UE; + + dereg_req->de_registration_type.switch_off = 1; + dereg_req->de_registration_type.re_registration_required = 0; + dereg_req->de_registration_type.access_type = OGS_ACCESS_TYPE_3GPP; + + dereg_req->presencemask |= + OGS_NAS_5GS_DEREGISTRATION_REQUEST_TO_UE_5GMM_CAUSE_PRESENT; + dereg_req->gmm_cause = OGS_5GMM_CAUSE_5GS_SERVICES_NOT_ALLOWED; return nas_5gs_security_encode(amf_ue, &message); }
View file
open5gs_2.4.8.202207110002.tar.xz/src/amf/gmm-build.h -> open5gs_2.4.8.202207120002.tar.xz/src/amf/gmm-build.h
Changed
@@ -34,6 +34,7 @@ amf_ue_t *amf_ue, ogs_nas_5gmm_cause_t gmm_cause); ogs_pkbuf_t *gmm_build_de_registration_accept(amf_ue_t *amf_ue); +ogs_pkbuf_t *gmm_build_de_registration_request(amf_ue_t *amf_ue); ogs_pkbuf_t *gmm_build_identity_request(amf_ue_t *amf_ue); ogs_pkbuf_t *gmm_build_security_mode_command(amf_ue_t *amf_ue);
View file
open5gs_2.4.8.202207110002.tar.xz/src/amf/gmm-handler.c -> open5gs_2.4.8.202207120002.tar.xz/src/amf/gmm-handler.c
Changed
@@ -679,7 +679,7 @@ /* Set 5GS De-registration Type */ memcpy(&amf_ue->nas.de_registration, de_registration_type, sizeof(ogs_nas_de_registration_type_t)); - amf_ue->nas.message_type = OGS_NAS_5GS_DEREGISTRATION_REQUEST; + amf_ue->nas.message_type = OGS_NAS_5GS_DEREGISTRATION_REQUEST_FROM_UE; amf_ue->nas.ue.tsc = de_registration_type->tsc; amf_ue->nas.ue.ksi = de_registration_type->ksi;
View file
open5gs_2.4.8.202207110002.tar.xz/src/amf/gmm-sm.c -> open5gs_2.4.8.202207120002.tar.xz/src/amf/gmm-sm.c
Changed
@@ -278,7 +278,7 @@ OGS_FSM_TRAN(s, &gmm_state_exception); break; - case OGS_NAS_5GS_DEREGISTRATION_REQUEST: + case OGS_NAS_5GS_DEREGISTRATION_REQUEST_FROM_UE: ogs_info("%s Deregistration request", amf_ue->supi); gmm_handle_deregistration_request( @@ -286,6 +286,21 @@ OGS_FSM_TRAN(s, &gmm_state_de_registered); break; + case OGS_NAS_5GS_DEREGISTRATION_ACCEPT_TO_UE: + ogs_info("%s Deregistration accept", amf_ue->supi); + CLEAR_AMF_UE_TIMER(amf_ue->t3522); + + /* De-associate NG with NAS/EMM */ + ran_ue_deassociate(amf_ue->ran_ue); + + ogs_assert(OGS_OK == + ngap_send_ran_ue_context_release_command(amf_ue->ran_ue, + NGAP_Cause_PR_misc, NGAP_CauseMisc_om_intervention, + NGAP_UE_CTX_REL_NG_CONTEXT_REMOVE, 0)); + + OGS_FSM_TRAN(s, &gmm_state_de_registered); + break; + case OGS_NAS_5GS_CONFIGURATION_UPDATE_COMPLETE: ogs_debug("%s Configuration update complete", amf_ue->supi); @@ -414,6 +429,20 @@ } break; + case AMF_TIMER_T3522: + if (amf_ue->t3522.retry_count >= + amf_timer_cfg(AMF_TIMER_T3522)->max_count) { + ogs_warn("Retransmission of Deregistration-Request failed. " + "Stop retransmission"); + CLEAR_AMF_UE_TIMER(amf_ue->t3522); + OGS_FSM_TRAN(&amf_ue->t3522, &gmm_state_exception); + } else { + amf_ue->t3522.retry_count++; + ogs_assert(OGS_OK == + nas_5gs_send_de_registration_request(amf_ue)); + } + break; + default: ogs_error("Unknown timer%s:%d", amf_timer_get_name(e->timer_id), e->timer_id); @@ -432,8 +461,10 @@ CASE(OGS_SBI_RESOURCE_NAME_POLICIES) SWITCH(sbi_message->h.method) CASE(OGS_SBI_HTTP_METHOD_DELETE) - ogs_assert(OGS_OK == - nas_5gs_send_de_registration_accept(amf_ue)); + + if (!amf_ue->network_initiated_de_reg) + ogs_assert(OGS_OK == + nas_5gs_send_de_registration_accept(amf_ue)); PCF_AM_POLICY_CLEAR(amf_ue); break; @@ -450,39 +481,6 @@ END break; - CASE(OGS_SBI_SERVICE_NAME_NUDM_UECM) - SWITCH(sbi_message->h.resource.component1) - CASE(OGS_SBI_RESOURCE_NAME_REGISTRATIONS) - SWITCH(sbi_message->h.resource.component2) - CASE(OGS_SBI_RESOURCE_NAME_AMF_3GPP_ACCESS) - SWITCH(sbi_message->h.method) - CASE(OGS_SBI_HTTP_METHOD_PATCH) - - ogs_assert(true == - amf_ue_sbi_discover_and_send( - OpenAPI_nf_type_PCF, amf_ue, - NULL, amf_npcf_am_policy_control_build_delete)); - - break; - - DEFAULT - ogs_error("Unknown method %s", sbi_message->h.method); - ogs_assert_if_reached(); - END - break; - DEFAULT - ogs_error("Invalid resource name %s", - sbi_message->h.resource.component2); - ogs_assert_if_reached(); - END - break; - - DEFAULT - ogs_error("Invalid resource name %s", - sbi_message->h.resource.component1); - ogs_assert_if_reached(); - END - break; DEFAULT ogs_error("Invalid service name %s", sbi_message->h.service.name); ogs_assert_if_reached(); @@ -625,7 +623,7 @@ OGS_FSM_TRAN(s, &gmm_state_exception); break; - case OGS_NAS_5GS_DEREGISTRATION_REQUEST: + case OGS_NAS_5GS_DEREGISTRATION_REQUEST_FROM_UE: ogs_warn("%s Deregistration request", amf_ue->supi); gmm_handle_deregistration_request( @@ -870,7 +868,7 @@ OGS_FSM_TRAN(s, &gmm_state_exception); break; - case OGS_NAS_5GS_DEREGISTRATION_REQUEST: + case OGS_NAS_5GS_DEREGISTRATION_REQUEST_FROM_UE: ogs_warn("%s Deregistration request", amf_ue->supi); gmm_handle_deregistration_request( @@ -1193,7 +1191,7 @@ OGS_FSM_TRAN(s, &gmm_state_exception); break; - case OGS_NAS_5GS_DEREGISTRATION_REQUEST: + case OGS_NAS_5GS_DEREGISTRATION_REQUEST_FROM_UE: ogs_warn("%s Deregistration request", amf_ue->supi); gmm_handle_deregistration_request(
View file
open5gs_2.4.8.202207110002.tar.xz/src/amf/namf-handler.c -> open5gs_2.4.8.202207120002.tar.xz/src/amf/namf-handler.c
Changed
@@ -508,3 +508,92 @@ return OGS_OK; } + +int amf_namf_callback_handle_dereg_notify( + ogs_sbi_stream_t *stream, ogs_sbi_message_t *recvmsg) +{ + int status = OGS_SBI_HTTP_STATUS_NO_CONTENT; + + amf_ue_t *amf_ue = NULL; + + ogs_sbi_message_t sendmsg; + ogs_sbi_response_t *response = NULL; + + OpenAPI_deregistration_data_t *DeregistrationData; + + ogs_assert(stream); + ogs_assert(recvmsg); + + if (!recvmsg->h.resource.component0) { + status = OGS_SBI_HTTP_STATUS_BAD_REQUEST; + ogs_error("No SUPI"); + goto cleanup; + } + + amf_ue = amf_ue_find_by_supi(recvmsg->h.resource.component0); + if (!amf_ue) { + status = OGS_SBI_HTTP_STATUS_NOT_FOUND; + ogs_error("Cannot find SUPI %s", recvmsg->h.resource.component0); + goto cleanup; + } + + DeregistrationData = recvmsg->DeregistrationData; + if (!DeregistrationData) { + status = OGS_SBI_HTTP_STATUS_BAD_REQUEST; + ogs_error("%s No DeregistrationData", amf_ue->supi); + goto cleanup; + } + + if (DeregistrationData->access_type != OpenAPI_access_type_3GPP_ACCESS) + { + status = OGS_SBI_HTTP_STATUS_BAD_REQUEST; + ogs_error("%s Deregistration access type not 3GPP", amf_ue->supi); + goto cleanup; + } + + ogs_info("Deregistration notify reason: %s:%s:%s", + amf_ue->supi, + OpenAPI_deregistration_reason_ToString(DeregistrationData->dereg_reason), + OpenAPI_access_type_ToString(DeregistrationData->access_type)); + + /* + * TODO: do not start deregistration if UE has emergency sessions + * 4.2.2.3.3 + * If the UE has established PDU Session associated with emergency service, the AMF shall not initiate + * Deregistration procedure. In this case, the AMF performs network requested PDU Session Release for any PDU + * session associated with non-emergency service as described in clause 4.3.4. + */ + + + if (CM_CONNECTED(amf_ue)) + { + amf_ue->network_initiated_de_reg = true; + + ogs_assert(OGS_OK == + nas_5gs_send_de_registration_request(amf_ue)); + + amf_sbi_send_release_all_sessions( + amf_ue, AMF_RELEASE_SM_CONTEXT_NO_STATE); + + if (ogs_list_count(&amf_ue->sess_list) == 0) + ogs_assert(true == + amf_ue_sbi_discover_and_send( + OpenAPI_nf_type_PCF, amf_ue, + NULL, amf_npcf_am_policy_control_build_delete)); + + OGS_FSM_TRAN(&amf_ue->sm, &gmm_state_de_registered); + } + else if (CM_IDLE(amf_ue)) { + /* TODO: need to page UE */ + /*ngap_send_paging(amf_ue);*/ + } + +cleanup: + memset(&sendmsg, 0, sizeof(sendmsg)); + + response = ogs_sbi_build_response(&sendmsg, status); + ogs_assert(response); + ogs_assert(true == ogs_sbi_server_send_response(stream, response)); + + return OGS_OK; +}
View file
open5gs_2.4.8.202207110002.tar.xz/src/amf/namf-handler.h -> open5gs_2.4.8.202207120002.tar.xz/src/amf/namf-handler.h
Changed
@@ -30,6 +30,8 @@ ogs_sbi_stream_t *stream, ogs_sbi_message_t *recvmsg); int amf_namf_callback_handle_sm_context_status( ogs_sbi_stream_t *stream, ogs_sbi_message_t *recvmsg); +int amf_namf_callback_handle_dereg_notify( + ogs_sbi_stream_t *stream, ogs_sbi_message_t *recvmsg); #ifdef __cplusplus }
View file
open5gs_2.4.8.202207110002.tar.xz/src/amf/nas-path.c -> open5gs_2.4.8.202207120002.tar.xz/src/amf/nas-path.c
Changed
@@ -276,6 +276,38 @@ return rv; } +int nas_5gs_send_de_registration_request(amf_ue_t *amf_ue) +{ + int rv; + + ran_ue_t *ran_ue = NULL; + ogs_pkbuf_t *gmmbuf = NULL; + + ogs_assert(amf_ue); + ran_ue = ran_ue_cycle(amf_ue->ran_ue); + ogs_expect_or_return_val(ran_ue, OGS_ERROR); + + ogs_debug("%s De-registration request", amf_ue->supi); + + if (amf_ue->t3522.pkbuf) { + gmmbuf = amf_ue->t3522.pkbuf; + ogs_expect_or_return_val(gmmbuf, OGS_ERROR); + } else { + gmmbuf = gmm_build_de_registration_request(amf_ue); + ogs_expect_or_return_val(gmmbuf, OGS_ERROR); + } + + amf_ue->t3522.pkbuf = ogs_pkbuf_copy(gmmbuf); + ogs_expect_or_return_val(amf_ue->t3522.pkbuf, OGS_ERROR); + ogs_timer_start(amf_ue->t3522.timer, + amf_timer_cfg(AMF_TIMER_T3522)->duration); + + rv = nas_5gs_send_to_downlink_nas_transport(amf_ue, gmmbuf); + ogs_expect_or_return_val(rv == OGS_OK, OGS_ERROR); + + return rv; +} + int nas_5gs_send_identity_request(amf_ue_t *amf_ue) { int rv;
View file
open5gs_2.4.8.202207110002.tar.xz/src/amf/nas-path.h -> open5gs_2.4.8.202207120002.tar.xz/src/amf/nas-path.h
Changed
@@ -41,6 +41,7 @@ amf_ue_t *amf_ue, ogs_nas_5gmm_cause_t gmm_cause); int nas_5gs_send_de_registration_accept(amf_ue_t *amf_ue); +int nas_5gs_send_de_registration_request(amf_ue_t *amf_ue); int nas_5gs_send_identity_request(amf_ue_t *amf_ue);
View file
open5gs_2.4.8.202207110002.tar.xz/src/amf/nsmf-handler.c -> open5gs_2.4.8.202207120002.tar.xz/src/amf/nsmf-handler.c
Changed
@@ -886,8 +886,8 @@ ogs_assert(true == amf_ue_sbi_discover_and_send( - OpenAPI_nf_type_UDM, amf_ue, - NULL, amf_nudm_uecm_build_registration_delete)); + OpenAPI_nf_type_PCF, amf_ue, + NULL, amf_npcf_am_policy_control_build_delete)); } else if (OGS_FSM_CHECK(&amf_ue->sm, gmm_state_registered)) { /*
View file
open5gs_2.4.8.202207110002.tar.xz/tests/common/gmm-build.c -> open5gs_2.4.8.202207120002.tar.xz/tests/common/gmm-build.c
Changed
@@ -408,7 +408,7 @@ } message.gmm.h.extended_protocol_discriminator = OGS_NAS_EXTENDED_PROTOCOL_DISCRIMINATOR_5GMM; - message.gmm.h.message_type = OGS_NAS_5GS_DEREGISTRATION_REQUEST; + message.gmm.h.message_type = OGS_NAS_5GS_DEREGISTRATION_REQUEST_FROM_UE; de_registration_type->ksi = test_ue->nas.ksi; de_registration_type->switch_off = switch_off;
View file
open5gs_2.4.8.202207110002.tar.xz/tests/common/nas-encoder.c -> open5gs_2.4.8.202207120002.tar.xz/tests/common/nas-encoder.c
Changed
@@ -44,7 +44,7 @@ encoded += size; switch(message->gmm.h.message_type) { - case OGS_NAS_5GS_DEREGISTRATION_REQUEST: + case OGS_NAS_5GS_DEREGISTRATION_REQUEST_FROM_UE: size = ogs_nas_5gs_encode_deregistration_request_from_ue( pkbuf, message); ogs_assert(size >= 0);
View file
open5gs_2.4.8.202207110002.tar.xz/tests/common/nas-security.c -> open5gs_2.4.8.202207120002.tar.xz/tests/common/nas-security.c
Changed
@@ -75,7 +75,7 @@ message->h.extended_protocol_discriminator; h.sequence_number = (test_ue->ul_count & 0xff); - if (message->gmm.h.message_type == OGS_NAS_5GS_DEREGISTRATION_REQUEST) + if (message->gmm.h.message_type == OGS_NAS_5GS_DEREGISTRATION_REQUEST_FROM_UE) new = test_nas_5gs_plain_encode(message); else new = ogs_nas_5gs_plain_encode(message);
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.