Changes of Revision 122

commit_43eb5f3d7f33e843da5f7dfed1f317990ca89603.txt Deleted
commit_596a2f1b5e692ce3c89ce2df64baded926d07ad7.txt Added
open5gs_2.4.9.254.43eb.dsc Deleted
x
 
1
@@ -1,38 +0,0 @@
2
-Format: 3.0 (native)
3
-Source: open5gs
4
-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
5
-Architecture: any
6
-Version: 2.4.9.254.43eb
7
-Maintainer: Harald Welte <laforge@gnumonks.org>
8
-Uploaders: Sukchan Lee <acetcom@gmail.com>
9
-Homepage: https://open5gs.org
10
-Standards-Version: 4.3.0
11
-Vcs-Browser: https://github.com/open5gs/open5gs
12
-Vcs-Git: git://github.com/open5gs/open5gs
13
-Build-Depends: debhelper (>= 11), git, pkg-config, meson (>= 0.43.0), cmake, flex, bison, libgnutls28-dev, libgcrypt-dev, libssl-dev, libidn11-dev, libmongoc-dev, libbson-dev, libsctp-dev, libyaml-dev, libmicrohttpd-dev, libcurl4-gnutls-dev, libnghttp2-dev, libtins-dev, libtalloc-dev
14
-Package-List:
15
- open5gs deb net optional arch=any
16
- open5gs-amf deb net optional arch=any
17
- open5gs-ausf deb net optional arch=any
18
- open5gs-bsf deb net optional arch=any
19
- open5gs-common deb net optional arch=any
20
- open5gs-dbg deb net optional arch=any
21
- open5gs-hss deb net optional arch=any
22
- open5gs-mme deb net optional arch=any
23
- open5gs-nrf deb net optional arch=any
24
- open5gs-nssf deb net optional arch=any
25
- open5gs-pcf deb net optional arch=any
26
- open5gs-pcrf deb net optional arch=any
27
- open5gs-scp deb net optional arch=any
28
- open5gs-sgwc deb net optional arch=any
29
- open5gs-sgwu deb net optional arch=any
30
- open5gs-smf deb net optional arch=any
31
- open5gs-udm deb net optional arch=any
32
- open5gs-udr deb net optional arch=any
33
- open5gs-upf deb net optional arch=any
34
-Checksums-Sha1:
35
- 04623167fe23cfec4cae25074c224c3b6f468cb3 13612908 open5gs_2.4.9.254.43eb.tar.xz
36
-Checksums-Sha256:
37
- 879e36f4d8206d83829e22be6f79da10f6ce9b30d4381e90a6793046e19ff7e7 13612908 open5gs_2.4.9.254.43eb.tar.xz
38
-Files:
39
- 5fec87cee81236d995eea32461265b9c 13612908 open5gs_2.4.9.254.43eb.tar.xz
40
open5gs_2.4.9.256.596a2.dsc Added
40
 
1
@@ -0,0 +1,38 @@
2
+Format: 3.0 (native)
3
+Source: open5gs
4
+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
5
+Architecture: any
6
+Version: 2.4.9.256.596a2
7
+Maintainer: Harald Welte <laforge@gnumonks.org>
8
+Uploaders: Sukchan Lee <acetcom@gmail.com>
9
+Homepage: https://open5gs.org
10
+Standards-Version: 4.3.0
11
+Vcs-Browser: https://github.com/open5gs/open5gs
12
+Vcs-Git: git://github.com/open5gs/open5gs
13
+Build-Depends: debhelper (>= 11), git, pkg-config, meson (>= 0.43.0), cmake, flex, bison, libgnutls28-dev, libgcrypt-dev, libssl-dev, libidn11-dev, libmongoc-dev, libbson-dev, libsctp-dev, libyaml-dev, libmicrohttpd-dev, libcurl4-gnutls-dev, libnghttp2-dev, libtins-dev, libtalloc-dev
14
+Package-List:
15
+ open5gs deb net optional arch=any
16
+ open5gs-amf deb net optional arch=any
17
+ open5gs-ausf deb net optional arch=any
18
+ open5gs-bsf deb net optional arch=any
19
+ open5gs-common deb net optional arch=any
20
+ open5gs-dbg deb net optional arch=any
21
+ open5gs-hss deb net optional arch=any
22
+ open5gs-mme deb net optional arch=any
23
+ open5gs-nrf deb net optional arch=any
24
+ open5gs-nssf deb net optional arch=any
25
+ open5gs-pcf deb net optional arch=any
26
+ open5gs-pcrf deb net optional arch=any
27
+ open5gs-scp deb net optional arch=any
28
+ open5gs-sgwc deb net optional arch=any
29
+ open5gs-sgwu deb net optional arch=any
30
+ open5gs-smf deb net optional arch=any
31
+ open5gs-udm deb net optional arch=any
32
+ open5gs-udr deb net optional arch=any
33
+ open5gs-upf deb net optional arch=any
34
+Checksums-Sha1:
35
+ 659fe024c03df7cd8bf3d1d46359213e87bb0391 13613524 open5gs_2.4.9.256.596a2.tar.xz
36
+Checksums-Sha256:
37
+ 89c6f94bfe458a66efad2f5ee7cbd649d75dd04cba1a0c0bc0d18b71e739a1be 13613524 open5gs_2.4.9.256.596a2.tar.xz
38
+Files:
39
+ 3338d53c601f7595aae90560d71bd614 13613524 open5gs_2.4.9.256.596a2.tar.xz
40
open5gs_2.4.9.254.43eb.tar.xz/.tarball-version -> open5gs_2.4.9.256.596a2.tar.xz/.tarball-version Changed
4
 
1
@@ -1 +1 @@
2
-2.4.9.254-43eb
3
+2.4.9.256-596a2
4
open5gs_2.4.9.254.43eb.tar.xz/debian/changelog -> open5gs_2.4.9.256.596a2.tar.xz/debian/changelog Changed
12
 
1
@@ -1,8 +1,8 @@
2
-open5gs (2.4.9.254.43eb) unstable; urgency=medium
3
+open5gs (2.4.9.256.596a2) unstable; urgency=medium
4
 
5
   * Automatically generated changelog entry for building the Osmocom master feed
6
 
7
- -- Osmocom OBS scripts <info@osmocom.org>  Tue, 24 Jan 2023 10:22:16 +0000
8
+ -- Osmocom OBS scripts <info@osmocom.org>  Tue, 24 Jan 2023 13:12:52 +0000
9
 
10
 open5gs (2.5.6) unstable; urgency=medium
11
 
12
open5gs_2.4.9.254.43eb.tar.xz/lib/app/ogs-context.c -> open5gs_2.4.9.256.596a2.tar.xz/lib/app/ogs-context.c Changed
18
 
1
@@ -425,10 +425,14 @@
2
                     const char *v = ogs_yaml_iter_value(&pool_iter);
3
                     if (v)
4
                         self.pool.defconfig.cluster_2048_pool = atoi(v);
5
-                } else if (!strcmp(pool_key, "16384")) {
6
+                } else if (!strcmp(pool_key, "8192")) {
7
                     const char *v = ogs_yaml_iter_value(&pool_iter);
8
                     if (v)
9
-                        self.pool.defconfig.cluster_16384_pool = atoi(v);
10
+                        self.pool.defconfig.cluster_8192_pool = atoi(v);
11
+                } else if (!strcmp(pool_key, "32768")) {
12
+                    const char *v = ogs_yaml_iter_value(&pool_iter);
13
+                    if (v)
14
+                        self.pool.defconfig.cluster_32768_pool = atoi(v);
15
                 } else if (!strcmp(pool_key, "big")) {
16
                     const char *v = ogs_yaml_iter_value(&pool_iter);
17
                     if (v)
18
open5gs_2.4.9.254.43eb.tar.xz/lib/core/ogs-macros.h -> open5gs_2.4.9.256.596a2.tar.xz/lib/core/ogs-macros.h Changed
12
 
1
@@ -206,6 +206,10 @@
2
 #define OGS_MAX_FILEPATH_LEN            256
3
 #define OGS_MAX_IFNAME_LEN              32
4
 
5
+#define OGS_MAX_SDU_LEN                 32768 /* Should Heap */
6
+#define OGS_HUGE_LEN                    8192  /* Can Stack */
7
+#define OGS_MAX_PKT_LEN                 2048
8
+
9
 #define OGS_FILE_LINE __FILE__ ":" OGS_STRINGIFY(__LINE__)
10
 
11
 #define ogs_uint64_to_uint32(x) ((x >= 0xffffffffUL) ? 0xffffffffU : x)
12
open5gs_2.4.9.254.43eb.tar.xz/lib/core/ogs-pkbuf.c -> open5gs_2.4.9.256.596a2.tar.xz/lib/core/ogs-pkbuf.c Changed
122
 
1
@@ -28,7 +28,8 @@
2
 #define OGS_CLUSTER_512_SIZE    512
3
 #define OGS_CLUSTER_1024_SIZE   1024
4
 #define OGS_CLUSTER_2048_SIZE   2048
5
-#define OGS_CLUSTER_16384_SIZE  16384
6
+#define OGS_CLUSTER_8192_SIZE   8192
7
+#define OGS_CLUSTER_32768_SIZE  32768
8
 
9
 /*
10
  *
11
@@ -48,7 +49,8 @@
12
 typedef uint8_t ogs_cluster_512_tOGS_CLUSTER_512_SIZE;
13
 typedef uint8_t ogs_cluster_1024_tOGS_CLUSTER_1024_SIZE;
14
 typedef uint8_t ogs_cluster_2048_tOGS_CLUSTER_2048_SIZE;
15
-typedef uint8_t ogs_cluster_16384_tOGS_CLUSTER_16384_SIZE;
16
+typedef uint8_t ogs_cluster_8192_tOGS_CLUSTER_8192_SIZE;
17
+typedef uint8_t ogs_cluster_32768_tOGS_CLUSTER_32768_SIZE;
18
 typedef uint8_t ogs_cluster_big_tOGS_CLUSTER_BIG_SIZE;
19
 
20
 OGS_STATIC_ASSERT(sizeof(ogs_cluster_128_t) % sizeof(void *) == 0);
21
@@ -56,7 +58,8 @@
22
 OGS_STATIC_ASSERT(sizeof(ogs_cluster_512_t) % sizeof(void *) == 0);
23
 OGS_STATIC_ASSERT(sizeof(ogs_cluster_1024_t) % sizeof(void *) == 0);
24
 OGS_STATIC_ASSERT(sizeof(ogs_cluster_2048_t) % sizeof(void *) == 0);
25
-OGS_STATIC_ASSERT(sizeof(ogs_cluster_16384_t) % sizeof(void *) == 0);
26
+OGS_STATIC_ASSERT(sizeof(ogs_cluster_8192_t) % sizeof(void *) == 0);
27
+OGS_STATIC_ASSERT(sizeof(ogs_cluster_32768_t) % sizeof(void *) == 0);
28
 OGS_STATIC_ASSERT(sizeof(ogs_cluster_big_t) % sizeof(void *) == 0);
29
 
30
 typedef struct ogs_pkbuf_pool_s {
31
@@ -68,7 +71,8 @@
32
     OGS_POOL(cluster_512, ogs_cluster_512_t);
33
     OGS_POOL(cluster_1024, ogs_cluster_1024_t);
34
     OGS_POOL(cluster_2048, ogs_cluster_2048_t);
35
-    OGS_POOL(cluster_16384, ogs_cluster_16384_t);
36
+    OGS_POOL(cluster_8192, ogs_cluster_8192_t);
37
+    OGS_POOL(cluster_32768, ogs_cluster_32768_t);
38
     OGS_POOL(cluster_big, ogs_cluster_big_t);
39
 
40
     ogs_thread_mutex_t mutex;
41
@@ -116,7 +120,8 @@
42
     config->cluster_512_pool = 4096;
43
     config->cluster_1024_pool = 2048;
44
     config->cluster_2048_pool = 1024;
45
-    config->cluster_16384_pool = 512;
46
+    config->cluster_8192_pool = 256;
47
+    config->cluster_32768_pool = 64;
48
     config->cluster_big_pool = 8;
49
 #endif
50
 }
51
@@ -151,8 +156,8 @@
52
 
53
     tmp = config->cluster_128_pool + config->cluster_256_pool +
54
         config->cluster_512_pool + config->cluster_1024_pool +
55
-        config->cluster_2048_pool + config->cluster_16384_pool +
56
-        config->cluster_big_pool;
57
+        config->cluster_2048_pool + config->cluster_8192_pool +
58
+        config->cluster_32768_pool + config->cluster_big_pool;
59
 
60
     ogs_pool_init(&pool->pkbuf, tmp);
61
     ogs_pool_init(&pool->cluster, tmp);
62
@@ -162,7 +167,8 @@
63
     ogs_pool_init(&pool->cluster_512, config->cluster_512_pool);
64
     ogs_pool_init(&pool->cluster_1024, config->cluster_1024_pool);
65
     ogs_pool_init(&pool->cluster_2048, config->cluster_2048_pool);
66
-    ogs_pool_init(&pool->cluster_16384, config->cluster_16384_pool);
67
+    ogs_pool_init(&pool->cluster_8192, config->cluster_8192_pool);
68
+    ogs_pool_init(&pool->cluster_32768, config->cluster_32768_pool);
69
     ogs_pool_init(&pool->cluster_big, config->cluster_big_pool);
70
 #endif
71
 
72
@@ -200,7 +206,8 @@
73
     ogs_pool_final(&pool->cluster_512);
74
     ogs_pool_final(&pool->cluster_1024);
75
     ogs_pool_final(&pool->cluster_2048);
76
-    ogs_pool_final(&pool->cluster_16384);
77
+    ogs_pool_final(&pool->cluster_8192);
78
+    ogs_pool_final(&pool->cluster_32768);
79
     ogs_pool_final(&pool->cluster_big);
80
 
81
     ogs_thread_mutex_destroy(&pool->mutex);
82
@@ -405,13 +412,20 @@
83
             return NULL;
84
         }
85
         cluster->size = OGS_CLUSTER_2048_SIZE;
86
-    } else if (size <= OGS_CLUSTER_16384_SIZE) {
87
-        ogs_pool_alloc(&pool->cluster_16384, (ogs_cluster_16384_t**)&buffer);
88
+    } else if (size <= OGS_CLUSTER_8192_SIZE) {
89
+        ogs_pool_alloc(&pool->cluster_8192, (ogs_cluster_8192_t**)&buffer);
90
         if (!buffer) {
91
             ogs_error("ogs_pool_alloc() failed");
92
             return NULL;
93
         }
94
-        cluster->size = OGS_CLUSTER_16384_SIZE;
95
+        cluster->size = OGS_CLUSTER_8192_SIZE;
96
+    } else if (size <= OGS_CLUSTER_32768_SIZE) {
97
+        ogs_pool_alloc(&pool->cluster_32768, (ogs_cluster_32768_t**)&buffer);
98
+        if (!buffer) {
99
+            ogs_error("ogs_pool_alloc() failed");
100
+            return NULL;
101
+        }
102
+        cluster->size = OGS_CLUSTER_32768_SIZE;
103
     } else if (size <= OGS_CLUSTER_BIG_SIZE) {
104
         ogs_pool_alloc(&pool->cluster_big, (ogs_cluster_big_t**)&buffer);
105
         if (!buffer) {
106
@@ -452,9 +466,13 @@
107
         ogs_pool_free(
108
                 &pool->cluster_2048, (ogs_cluster_2048_t*)cluster->buffer);
109
         break;
110
-    case OGS_CLUSTER_16384_SIZE:
111
+    case OGS_CLUSTER_8192_SIZE:
112
+        ogs_pool_free(
113
+                &pool->cluster_8192, (ogs_cluster_8192_t*)cluster->buffer);
114
+        break;
115
+    case OGS_CLUSTER_32768_SIZE:
116
         ogs_pool_free(
117
-                &pool->cluster_16384, (ogs_cluster_16384_t*)cluster->buffer);
118
+                &pool->cluster_32768, (ogs_cluster_32768_t*)cluster->buffer);
119
         break;
120
     case OGS_CLUSTER_BIG_SIZE:
121
         ogs_pool_free(&pool->cluster_big, (ogs_cluster_big_t*)cluster->buffer);
122
open5gs_2.4.9.254.43eb.tar.xz/lib/core/ogs-pkbuf.h -> open5gs_2.4.9.256.596a2.tar.xz/lib/core/ogs-pkbuf.h Changed
11
 
1
@@ -68,7 +68,8 @@
2
     int cluster_512_pool;
3
     int cluster_1024_pool;
4
     int cluster_2048_pool;
5
-    int cluster_16384_pool;
6
+    int cluster_8192_pool;
7
+    int cluster_32768_pool;
8
     int cluster_big_pool;
9
 } ogs_pkbuf_config_t;
10
 
11
open5gs_2.4.9.254.43eb.tar.xz/lib/core/ogs-strings.h -> open5gs_2.4.9.256.596a2.tar.xz/lib/core/ogs-strings.h Changed
10
 
1
@@ -54,8 +54,6 @@
2
 extern "C" {
3
 #endif
4
 
5
-#define OGS_HUGE_LEN        16384
6
-
7
 #if defined(_WIN32)
8
 #define ogs_strtok_r strtok_s
9
 #define ogs_strcasecmp _stricmp
10
open5gs_2.4.9.254.43eb.tar.xz/lib/diameter/common/init.c -> open5gs_2.4.9.256.596a2.tar.xz/lib/diameter/common/init.c Changed
31
 
1
@@ -98,15 +98,19 @@
2
 
3
 static void diam_log_func(int printlevel, const char *format, va_list ap)
4
 {
5
-    char bufferOGS_HUGE_LEN*2;
6
+    char *buffer = NULL;
7
     int  ret = 0;
8
 
9
+    buffer = ogs_calloc(1, OGS_MAX_SDU_LEN);
10
+    ogs_assert(buffer);
11
+
12
 #pragma GCC diagnostic push
13
 #pragma GCC diagnostic ignored "-Wformat-nonliteral"
14
-    ret = ogs_vsnprintf(buffer, OGS_HUGE_LEN*2, format, ap);
15
+    ret = ogs_vsnprintf(buffer, OGS_MAX_SDU_LEN, format, ap);
16
 #pragma GCC diagnostic pop
17
-    if (ret < 0 || ret > OGS_HUGE_LEN*2) {
18
+    if (ret < 0 || ret > OGS_MAX_SDU_LEN) {
19
         ogs_error("vsnprintf() failedret=%d", ret);
20
+        ogs_free(buffer);
21
         return;
22
     }
23
 
24
@@ -142,4 +146,6 @@
25
         diam_log_printf(OGS_LOG_ERROR, "%d %s\n", printlevel, buffer);
26
         break;
27
     }
28
+
29
+    ogs_free(buffer);
30
 }
31
open5gs_2.4.9.254.43eb.tar.xz/lib/proto/types.h -> open5gs_2.4.9.256.596a2.tar.xz/lib/proto/types.h Changed
10
 
1
@@ -52,8 +52,6 @@
2
 #define OGS_MAX_NUM_OF_GTPU_RESOURCE    4
3
 #define OGS_MAX_NUM_OF_FRAMED_ROUTES_IN_PDI 8
4
 
5
-#define OGS_MAX_SDU_LEN                 OGS_HUGE_LEN
6
-#define OGS_MAX_PKT_LEN                 2048
7
 #define OGS_PLMN_ID_LEN                 3
8
 #define OGS_MAX_PLMN_ID_BCD_LEN         6
9
 
10
open5gs_2.4.9.254.43eb.tar.xz/lib/sbi/client.c -> open5gs_2.4.9.256.596a2.tar.xz/lib/sbi/client.c Changed
10
 
1
@@ -382,7 +382,7 @@
2
         request->h.uri = uri;
3
     }
4
 
5
-    curl_easy_setopt(conn->easy, CURLOPT_BUFFERSIZE, OGS_MAX_SDU_LEN*2);
6
+    curl_easy_setopt(conn->easy, CURLOPT_BUFFERSIZE, OGS_MAX_SDU_LEN);
7
 
8
     curl_easy_setopt(conn->easy, CURLOPT_SSL_VERIFYPEER, 0);
9
     curl_easy_setopt(conn->easy, CURLOPT_SSL_VERIFYHOST, 0);
10
open5gs_2.4.9.254.43eb.tar.xz/lib/sbi/conv.c -> open5gs_2.4.9.256.596a2.tar.xz/lib/sbi/conv.c Changed
13
 
1
@@ -540,6 +540,11 @@
2
     unit = strrchr(str, ' ');
3
     bitrate = atoll(str);
4
 
5
+    if (!unit) {
6
+        ogs_error("No Unit %s", str);
7
+        return bitrate;
8
+    }
9
+
10
     SWITCH(unit+1)
11
     CASE("Kbps")
12
         return bitrate * 1024;
13
open5gs_2.4.9.254.43eb.tar.xz/lib/sbi/message.c -> open5gs_2.4.9.256.596a2.tar.xz/lib/sbi/message.c Changed
25
 
1
@@ -2239,7 +2239,7 @@
2
             } else {
3
                 offset = data->partdata->num_of_part.content_length;
4
                 if ((data->partdata->num_of_part.content_length + length) >
5
-                        OGS_HUGE_LEN) {
6
+                        OGS_MAX_SDU_LEN) {
7
                     ogs_error("Overflow length %d:%d",
8
                         (int)data->partdata->num_of_part.content_length,
9
                         (int)length);
10
@@ -2414,12 +2414,12 @@
11
     strcpy(boundary, "=-");
12
     ogs_base64_encode_binary(boundary + 2, digest, 16);
13
 
14
-    p = http->content = ogs_calloc(1, OGS_HUGE_LEN);
15
+    p = http->content = ogs_calloc(1, OGS_MAX_SDU_LEN);
16
     if (!p) {
17
         ogs_error("ogs_calloc() failed");
18
         return false;
19
     }
20
-    last = p + OGS_HUGE_LEN;
21
+    last = p + OGS_MAX_SDU_LEN;
22
 
23
     /* First boundary */
24
     p = ogs_slprintf(p, last, "--%s\r\n", boundary);
25
open5gs_2.4.9.254.43eb.tar.xz/lib/sbi/mhd-server.c -> open5gs_2.4.9.256.596a2.tar.xz/lib/sbi/mhd-server.c Changed
10
 
1
@@ -543,7 +543,7 @@
2
         } else {
3
             offset = request->http.content_length;
4
             if ((request->http.content_length +
5
-                        *upload_data_size) > OGS_HUGE_LEN) {
6
+                        *upload_data_size) > OGS_MAX_SDU_LEN) {
7
                 ogs_error("Overflow : Content-Length%d, upload_data_size%d",
8
                             (int)request->http.content_length,
9
                             (int)*upload_data_size);
10
open5gs_2.4.9.254.43eb.tar.xz/src/pcf/npcf-handler.c -> open5gs_2.4.9.256.596a2.tar.xz/src/pcf/npcf-handler.c Changed
53
 
1
@@ -633,6 +633,13 @@
2
         uint8_t qos_index = 0;
3
         ogs_media_component_t *media_component = &ims_data.media_componenti;
4
 
5
+        if (media_component->media_type == OpenAPI_media_type_NULL) {
6
+            strerror = ogs_msprintf("%s:%d Media-Type is Required",
7
+                    pcf_ue->supi, sess->psi);
8
+            status = OGS_SBI_HTTP_STATUS_BAD_REQUEST;
9
+            goto cleanup;
10
+        }
11
+
12
         switch(media_component->media_type) {
13
         case OpenAPI_media_type_AUDIO:
14
             qos_index = OGS_QOS_INDEX_1;
15
@@ -644,9 +651,9 @@
16
             qos_index = OGS_QOS_INDEX_5;
17
             break;
18
         default:
19
-            strerror = ogs_msprintf("%s:%d Not implemented : Media-Type:%d",
20
+            strerror = ogs_msprintf("%s:%d Unknown Media-Type %d",
21
                     pcf_ue->supi, sess->psi, media_component->media_type);
22
-            status = OGS_SBI_HTTP_STATUS_INTERNAL_SERVER_ERROR;
23
+            status = OGS_SBI_HTTP_STATUS_BAD_REQUEST;
24
             goto cleanup;
25
         }
26
 
27
@@ -1046,6 +1053,13 @@
28
         uint8_t qos_index = 0;
29
         ogs_media_component_t *media_component = &ims_data.media_componenti;
30
 
31
+        if (media_component->media_type == OpenAPI_media_type_NULL) {
32
+            strerror = ogs_msprintf("%s:%d Media-Type is Required",
33
+                    pcf_ue->supi, sess->psi);
34
+            status = OGS_SBI_HTTP_STATUS_BAD_REQUEST;
35
+            goto cleanup;
36
+        }
37
+
38
         switch(media_component->media_type) {
39
         case OpenAPI_media_type_AUDIO:
40
             qos_index = OGS_QOS_INDEX_1;
41
@@ -1057,9 +1071,9 @@
42
             qos_index = OGS_QOS_INDEX_5;
43
             break;
44
         default:
45
-            strerror = ogs_msprintf("%s:%d Not implemented : Media-Type:%d",
46
+            strerror = ogs_msprintf("%s:%d Unknown Media-Type %d",
47
                     pcf_ue->supi, sess->psi, media_component->media_type);
48
-            status = OGS_SBI_HTTP_STATUS_INTERNAL_SERVER_ERROR;
49
+            status = OGS_SBI_HTTP_STATUS_BAD_REQUEST;
50
             goto cleanup;
51
         }
52
 
53