Changes of Revision 135

open5gs_2.5.5.1.9545.202211070002.dsc -> open5gs_2.5.5.4.4106.202211080002.dsc Changed
x
 
1
@@ -2,7 +2,7 @@
2
 Source: open5gs
3
 Binary: open5gs-common, open5gs-mme, open5gs-sgwc, open5gs-smf, open5gs-amf, open5gs-sgwu, open5gs-upf, open5gs-hss, open5gs-pcrf, open5gs-nrf, open5gs-scp, open5gs-ausf, open5gs-udm, open5gs-pcf, open5gs-nssf, open5gs-bsf, open5gs-udr, open5gs, open5gs-dbg
4
 Architecture: any
5
-Version: 2.5.5.1.9545.202211070002
6
+Version: 2.5.5.4.4106.202211080002
7
 Maintainer: Harald Welte <laforge@gnumonks.org>
8
 Uploaders: Sukchan Lee <acetcom@gmail.com>
9
 Homepage: https://open5gs.org
10
@@ -31,8 +31,8 @@
11
  open5gs-udr deb net optional arch=any
12
  open5gs-upf deb net optional arch=any
13
 Checksums-Sha1:
14
- a36990937cb12de7fc969a232c71afd862e40859 11489968 open5gs_2.5.5.1.9545.202211070002.tar.xz
15
+ 8dc7c45ae20518e59533a5fff826814768971509 11490308 open5gs_2.5.5.4.4106.202211080002.tar.xz
16
 Checksums-Sha256:
17
- 8a40eda675b9b1b81b9dd9cc96a4818b4ffe525d7e1dbd801bce0d04719bc26e 11489968 open5gs_2.5.5.1.9545.202211070002.tar.xz
18
+ 84c547381787d846a206d16a66c1be9008d9091d9661d63cc1a8d8c4c190b1c0 11490308 open5gs_2.5.5.4.4106.202211080002.tar.xz
19
 Files:
20
- b19f8202d7125d5dba334c86938f6309 11489968 open5gs_2.5.5.1.9545.202211070002.tar.xz
21
+ db346b61856c64016371fd8aa53e1e34 11490308 open5gs_2.5.5.4.4106.202211080002.tar.xz
22
open5gs_2.5.5.1.9545.202211070002.tar.xz/.tarball-version -> open5gs_2.5.5.4.4106.202211080002.tar.xz/.tarball-version Changed
4
 
1
@@ -1 +1 @@
2
-2.5.5.1-9545.202211070002
3
+2.5.5.4-4106.202211080002
4
open5gs_2.5.5.1.9545.202211070002.tar.xz/debian/changelog -> open5gs_2.5.5.4.4106.202211080002.tar.xz/debian/changelog Changed
12
 
1
@@ -1,8 +1,8 @@
2
-open5gs (2.5.5.1.9545.202211070002) unstable; urgency=medium
3
+open5gs (2.5.5.4.4106.202211080002) unstable; urgency=medium
4
 
5
   * Automatically generated changelog entry for building the Osmocom nightly feed
6
 
7
- -- Osmocom OBS scripts <info@osmocom.org>  Mon, 07 Nov 2022 00:04:26 +0000
8
+ -- Osmocom OBS scripts <info@osmocom.org>  Tue, 08 Nov 2022 00:04:34 +0000
9
 
10
 open5gs (2.5.5) unstable; urgency=medium
11
 
12
open5gs_2.5.5.1.9545.202211070002.tar.xz/src/smf/gsm-build.c -> open5gs_2.5.5.4.4106.202211080002.tar.xz/src/smf/gsm-build.c Changed
19
 
1
@@ -292,7 +292,7 @@
2
 }
3
 
4
 ogs_pkbuf_t *gsm_build_pdu_session_modification_command(
5
-        smf_sess_t *sess, uint8_t pti,
6
+        smf_sess_t *sess,
7
         uint8_t qos_rule_code, uint8_t qos_flow_description_code)
8
 {
9
     ogs_pkbuf_t *pkbuf = NULL;
10
@@ -325,7 +325,7 @@
11
     message.gsm.h.extended_protocol_discriminator =
12
             OGS_NAS_EXTENDED_PROTOCOL_DISCRIMINATOR_5GSM;
13
     message.gsm.h.pdu_session_identity = sess->psi;
14
-    message.gsm.h.procedure_transaction_identity = pti;
15
+    message.gsm.h.procedure_transaction_identity = sess->pti;
16
     message.gsm.h.message_type = OGS_NAS_5GS_PDU_SESSION_MODIFICATION_COMMAND;
17
 
18
     /* QoS rule */
19
open5gs_2.5.5.1.9545.202211070002.tar.xz/src/smf/gsm-build.h -> open5gs_2.5.5.4.4106.202211080002.tar.xz/src/smf/gsm-build.h Changed
10
 
1
@@ -31,7 +31,7 @@
2
         smf_sess_t *sess, ogs_nas_5gsm_cause_t gsm_cause);
3
 
4
 ogs_pkbuf_t *gsm_build_pdu_session_modification_command(
5
-        smf_sess_t *sess, uint8_t pti,
6
+        smf_sess_t *sess,
7
         uint8_t qos_rule_code, uint8_t qos_flow_description_code);
8
 ogs_pkbuf_t *gsm_build_pdu_session_modification_reject(
9
         smf_sess_t *sess, ogs_nas_5gsm_cause_t gsm_cause);
10
open5gs_2.5.5.1.9545.202211070002.tar.xz/src/smf/n4-handler.c -> open5gs_2.5.5.4.4106.202211080002.tar.xz/src/smf/n4-handler.c Changed
97
 
1
@@ -464,11 +464,23 @@
2
 
3
             ogs_assert(flags & OGS_PFCP_MODIFY_SESSION);
4
 
5
+            /*
6
+             * TS24.501
7
+             * 6.2 General on elementary 5GSM procedures
8
+             * 6.2.1 Principles of PTI handling for 5GSM procedures
9
+             *
10
+             * If a command message is not sent as result of
11
+             * a received request message, the sending entity shall
12
+             * include in the command message the PTI value set to
13
+             * "no procedure transaction identity assigned"
14
+             * (see examples in figure 6.2.1.4).
15
+             */
16
+            sess->pti = OGS_NAS_PROCEDURE_TRANSACTION_IDENTITY_UNASSIGNED;
17
+
18
             memset(&param, 0, sizeof(param));
19
             param.state = SMF_NETWORK_REQUESTED_QOS_FLOW_MODIFICATION;
20
             param.n1smbuf = gsm_build_pdu_session_modification_command(
21
                     sess,
22
-                    OGS_NAS_PROCEDURE_TRANSACTION_IDENTITY_UNASSIGNED,
23
                     OGS_NAS_QOS_CODE_DELETE_EXISTING_QOS_RULE,
24
                     OGS_NAS_DELETE_NEW_QOS_FLOW_DESCRIPTION);
25
             ogs_assert(param.n1smbuf);
26
@@ -492,7 +504,7 @@
27
 
28
             ogs_assert(flags & OGS_PFCP_MODIFY_SESSION);
29
             n1smbuf = gsm_build_pdu_session_modification_command(
30
-                    sess, sess->pti,
31
+                    sess,
32
                     OGS_NAS_QOS_CODE_DELETE_EXISTING_QOS_RULE,
33
                     OGS_NAS_DELETE_NEW_QOS_FLOW_DESCRIPTION);
34
             ogs_assert(n1smbuf);
35
@@ -528,11 +540,23 @@
36
 
37
             ogs_assert(flags & OGS_PFCP_MODIFY_SESSION);
38
 
39
+            /*
40
+             * TS24.501
41
+             * 6.2 General on elementary 5GSM procedures
42
+             * 6.2.1 Principles of PTI handling for 5GSM procedures
43
+             *
44
+             * If a command message is not sent as result of
45
+             * a received request message, the sending entity shall
46
+             * include in the command message the PTI value set to
47
+             * "no procedure transaction identity assigned"
48
+             * (see examples in figure 6.2.1.4).
49
+             */
50
+            sess->pti = OGS_NAS_PROCEDURE_TRANSACTION_IDENTITY_UNASSIGNED;
51
+
52
             memset(&param, 0, sizeof(param));
53
             param.state = SMF_NETWORK_REQUESTED_QOS_FLOW_MODIFICATION;
54
             param.n1smbuf = gsm_build_pdu_session_modification_command(
55
                     sess,
56
-                    OGS_NAS_PROCEDURE_TRANSACTION_IDENTITY_UNASSIGNED,
57
                     OGS_NAS_QOS_CODE_CREATE_NEW_QOS_RULE,
58
                     OGS_NAS_CREATE_NEW_QOS_FLOW_DESCRIPTION);
59
             ogs_assert(param.n1smbuf);
60
@@ -577,12 +601,23 @@
61
         if (flags & OGS_PFCP_MODIFY_NETWORK_REQUESTED) {
62
             ogs_assert(flags & OGS_PFCP_MODIFY_SESSION);
63
 
64
+            /*
65
+             * TS24.501
66
+             * 6.2 General on elementary 5GSM procedures
67
+             * 6.2.1 Principles of PTI handling for 5GSM procedures
68
+             *
69
+             * If a command message is not sent as result of
70
+             * a received request message, the sending entity shall
71
+             * include in the command message the PTI value set to
72
+             * "no procedure transaction identity assigned"
73
+             * (see examples in figure 6.2.1.4).
74
+             */
75
+            sess->pti = OGS_NAS_PROCEDURE_TRANSACTION_IDENTITY_UNASSIGNED;
76
+
77
             memset(&param, 0, sizeof(param));
78
             param.state = SMF_NETWORK_REQUESTED_QOS_FLOW_MODIFICATION;
79
             param.n1smbuf = gsm_build_pdu_session_modification_command(
80
-                    sess,
81
-                    OGS_NAS_PROCEDURE_TRANSACTION_IDENTITY_UNASSIGNED,
82
-                    qos_rule_code, qos_flow_description_code);
83
+                    sess, qos_rule_code, qos_flow_description_code);
84
             ogs_assert(param.n1smbuf);
85
             param.n2smbuf =
86
                 ngap_build_pdu_session_resource_modify_request_transfer(
87
@@ -599,8 +634,7 @@
88
 
89
             ogs_assert(flags & OGS_PFCP_MODIFY_SESSION);
90
             n1smbuf = gsm_build_pdu_session_modification_command(
91
-                    sess, sess->pti,
92
-                    qos_rule_code, qos_flow_description_code);
93
+                    sess, qos_rule_code, qos_flow_description_code);
94
             ogs_assert(n1smbuf);
95
 
96
             n2smbuf = ngap_build_pdu_session_resource_modify_request_transfer(
97
open5gs_2.5.5.1.9545.202211070002.tar.xz/src/smf/nsmf-handler.c -> open5gs_2.5.5.4.4106.202211080002.tar.xz/src/smf/nsmf-handler.c Changed
126
 
1
@@ -28,6 +28,7 @@
2
 {
3
     smf_ue_t *smf_ue = NULL;
4
 
5
+    ogs_nas_5gsm_header_t *gsm_header = NULL;
6
     ogs_pkbuf_t *n1smbuf = NULL;
7
 
8
     ogs_sbi_client_t *client = NULL;
9
@@ -50,12 +51,42 @@
10
     if (!SmContextCreateData) {
11
         ogs_error("%s:%d No SmContextCreateData",
12
                 smf_ue->supi, sess->psi);
13
-        n1smbuf = gsm_build_pdu_session_establishment_reject(sess,
14
-            OGS_5GSM_CAUSE_INVALID_MANDATORY_INFORMATION);
15
         smf_sbi_send_sm_context_create_error(stream,
16
                 OGS_SBI_HTTP_STATUS_BAD_REQUEST,
17
-                "No SmContextCreateData", smf_ue->supi, n1smbuf);
18
+                "No SmContextCreateData", smf_ue->supi, NULL);
19
+        return false;
20
+    }
21
+
22
+    n1SmMsg = SmContextCreateData->n1_sm_msg;
23
+    if (!n1SmMsg || !n1SmMsg->content_id) {
24
+        ogs_error("%s:%d No n1SmMsg", smf_ue->supi, sess->psi);
25
+        smf_sbi_send_sm_context_create_error(stream,
26
+                OGS_SBI_HTTP_STATUS_BAD_REQUEST,
27
+                "No n1SmMsg", smf_ue->supi, NULL);
28
+        return false;
29
+    }
30
+
31
+    n1smbuf = ogs_sbi_find_part_by_content_id(message, n1SmMsg->content_id);
32
+    if (!n1smbuf) {
33
+        ogs_error("%s:%d No N1 SM Content %s",
34
+                smf_ue->supi, sess->psi, n1SmMsg->content_id);
35
+        smf_sbi_send_sm_context_create_error(stream,
36
+                OGS_SBI_HTTP_STATUS_BAD_REQUEST,
37
+                "No N1 SM Content", smf_ue->supi, NULL);
38
+        return false;
39
+    }
40
+
41
+    gsm_header = (ogs_nas_5gsm_header_t *)n1smbuf->data;
42
+    ogs_assert(gsm_header);
43
+
44
+    sess->pti = gsm_header->procedure_transaction_identity;
45
+    if (sess->pti == OGS_NAS_PROCEDURE_TRANSACTION_IDENTITY_UNASSIGNED) {
46
+        ogs_error("%s:%d No PTI", smf_ue->supi, sess->psi);
47
+        smf_sbi_send_sm_context_create_error(stream,
48
+                OGS_SBI_HTTP_STATUS_BAD_REQUEST,
49
+                "No PTI", smf_ue->supi, NULL);
50
         return false;
51
+
52
     }
53
 
54
     sNssai = SmContextCreateData->s_nssai;
55
@@ -106,29 +137,6 @@
56
         return false;
57
     }
58
 
59
-    n1SmMsg = SmContextCreateData->n1_sm_msg;
60
-    if (!n1SmMsg || !n1SmMsg->content_id) {
61
-        ogs_error("%s:%d No n1SmMsg", smf_ue->supi, sess->psi);
62
-        n1smbuf = gsm_build_pdu_session_establishment_reject(sess,
63
-            OGS_5GSM_CAUSE_INVALID_MANDATORY_INFORMATION);
64
-        smf_sbi_send_sm_context_create_error(stream,
65
-                OGS_SBI_HTTP_STATUS_BAD_REQUEST,
66
-                "No n1SmMsg", smf_ue->supi, n1smbuf);
67
-        return false;
68
-    }
69
-
70
-    n1smbuf = ogs_sbi_find_part_by_content_id(message, n1SmMsg->content_id);
71
-    if (!n1smbuf) {
72
-        ogs_error("%s:%d No N1 SM Content %s",
73
-                smf_ue->supi, sess->psi, n1SmMsg->content_id);
74
-        n1smbuf = gsm_build_pdu_session_establishment_reject(sess,
75
-            OGS_5GSM_CAUSE_INVALID_MANDATORY_INFORMATION);
76
-        smf_sbi_send_sm_context_create_error(stream,
77
-                OGS_SBI_HTTP_STATUS_BAD_REQUEST,
78
-                "No N1 SM Content", smf_ue->supi, n1smbuf);
79
-        return false;
80
-    }
81
-
82
     if (!SmContextCreateData->sm_context_status_uri) {
83
         ogs_error("%s:%d No SmContextStatusNotification",
84
                 smf_ue->supi, sess->psi);
85
@@ -228,6 +236,7 @@
86
     OpenAPI_ref_to_binary_data_t *n1SmMsg = NULL;
87
     OpenAPI_ref_to_binary_data_t *n2SmMsg = NULL;
88
 
89
+    ogs_nas_5gsm_header_t *gsm_header = NULL;
90
     ogs_pkbuf_t *n1smbuf = NULL;
91
     ogs_pkbuf_t *n2smbuf = NULL;
92
 
93
@@ -274,11 +283,9 @@
94
         n1SmMsg = SmContextUpdateData->n1_sm_msg;
95
         if (!n1SmMsg || !n1SmMsg->content_id) {
96
             ogs_error("%s:%d No n1SmMsg", smf_ue->supi, sess->psi);
97
-            n1smbuf = gsm_build_pdu_session_release_reject(sess,
98
-                OGS_5GSM_CAUSE_INVALID_MANDATORY_INFORMATION);
99
             smf_sbi_send_sm_context_update_error(stream,
100
                     OGS_SBI_HTTP_STATUS_BAD_REQUEST,
101
-                    "No n1SmMsg", smf_ue->supi, n1smbuf, NULL);
102
+                    "No n1SmMsg", smf_ue->supi, NULL, NULL);
103
             return false;
104
         }
105
 
106
@@ -286,14 +293,16 @@
107
         if (!n1smbuf) {
108
             ogs_error("%s:%d No N1 SM Content %s",
109
                     smf_ue->supi, sess->psi, n1SmMsg->content_id);
110
-            n1smbuf = gsm_build_pdu_session_release_reject(sess,
111
-                OGS_5GSM_CAUSE_INVALID_MANDATORY_INFORMATION);
112
             smf_sbi_send_sm_context_update_error(stream,
113
                     OGS_SBI_HTTP_STATUS_BAD_REQUEST,
114
-                    "No N1 SM Content", smf_ue->supi, n1smbuf, NULL);
115
+                    "No N1 SM Content", smf_ue->supi, NULL, NULL);
116
             return false;
117
         }
118
 
119
+        gsm_header = (ogs_nas_5gsm_header_t *)n1smbuf->data;
120
+        ogs_assert(gsm_header);
121
+        sess->pti = gsm_header->procedure_transaction_identity;
122
+
123
         /*
124
          * NOTE : The pkbuf created in the SBI message will be removed
125
          *        from ogs_sbi_message_free().
126
open5gs_2.5.5.1.9545.202211070002.tar.xz/src/smf/smf-sm.c -> open5gs_2.5.5.4.4106.202211080002.tar.xz/src/smf/smf-sm.c Changed
10
 
1
@@ -859,8 +859,6 @@
2
         ogs_assert(sess);
3
         ogs_assert(OGS_FSM_STATE(&sess->sm));
4
 
5
-        sess->pti = nas_message.gsm.h.procedure_transaction_identity;
6
-
7
         e->nas.message = &nas_message;
8
         ogs_fsm_dispatch(&sess->sm, e);
9
 
10
open5gs_2.5.5.1.9545.202211070002.tar.xz/tests/slice/different-dnn-test.c -> open5gs_2.5.5.4.4106.202211080002.tar.xz/tests/slice/different-dnn-test.c Changed
10
 
1
@@ -167,7 +167,7 @@
2
     sess = test_sess_add_by_dnn_and_psi(test_ue, "internet", 10);
3
     ogs_assert(sess);
4
 
5
-    sess->pti = 0;
6
+    sess->pti = 20;
7
     sess->pdu_session_type = OGS_PDU_SESSION_TYPE_IPV4;
8
 
9
     sess->ul_nas_transport_param.request_type =
10
open5gs_2.5.5.1.9545.202211070002.tar.xz/tests/slice/same-dnn-test.c -> open5gs_2.5.5.4.4106.202211080002.tar.xz/tests/slice/same-dnn-test.c Changed
19
 
1
@@ -167,7 +167,7 @@
2
     sess = test_sess_add_by_dnn_and_psi(test_ue, "internet", 10);
3
     ogs_assert(sess);
4
 
5
-    sess->pti = 0;
6
+    sess->pti = 20;
7
     sess->pdu_session_type = OGS_PDU_SESSION_TYPE_IPV4;
8
 
9
     sess->ul_nas_transport_param.request_type =
10
@@ -497,7 +497,7 @@
11
     sess = test_sess_add_by_dnn_and_psi(test_ue, "internet", 10);
12
     ogs_assert(sess);
13
 
14
-    sess->pti = 0;
15
+    sess->pti = 20;
16
     sess->pdu_session_type = OGS_PDU_SESSION_TYPE_IPV4;
17
 
18
     sess->ul_nas_transport_param.request_type =
19