diff --git a/lib/gtp/v1/types.h b/lib/gtp/v1/types.h index 9748fdd6b..e73133f79 100644 --- a/lib/gtp/v1/types.h +++ b/lib/gtp/v1/types.h @@ -217,6 +217,12 @@ typedef struct ogs_gtp1_gsn_addr_s { #define OGS_GTP1_DELIVERY_ORDER_YES 1 #define OGS_GTP1_DELIVERY_ORDER_NO 2 +/* Delivery of erroneous SDUs, octet 6 (see also 3GPP TS 23.107) */ +#define OGS_GTP1_DELIVERY_ERR_SDU_SUBSCRIBED 0 +#define OGS_GTP1_DELIVERY_ERR_SDU_NO_DETECT 1 +#define OGS_GTP1_DELIVERY_ERR_SDU_YES 2 +#define OGS_GTP1_DELIVERY_ERR_SDU_NO 3 + /* TS 29.060 7.7.34 Quality of Service (QoS) Profile */ #define OGS_GTP1_QOS_PROFILE_MAX_LEN 255 /* TS 24.008 10.5.6.5 Quality of service */ diff --git a/src/mme/mme-gn-build.c b/src/mme/mme-gn-build.c index afb90500f..50727f9d0 100644 --- a/src/mme/mme-gn-build.c +++ b/src/mme/mme-gn-build.c @@ -76,6 +76,8 @@ static void build_qos_profile_from_session(ogs_gtp1_qos_profile_decoded_t *qos_p * required" [...] as described in clause "compatibility issues" (4.8.1) */ qos_pdec->qos_profile.data.delivery_order = OGS_GTP1_DELIVERY_ORDER_NO; + qos_pdec->qos_profile.data.delivery_erroneous_sdu = OGS_GTP1_DELIVERY_ERR_SDU_NO; + /* 3GPP TS 23.401 Annex E table Table E.3 */ /* Also take into account table 7 in 3GPP TS 23.107 9.1.2.2 */ switch (session->qos.index) { /* QCI */ diff --git a/src/smf/gn-build.c b/src/smf/gn-build.c index 21fe6cb3c..2cc557b1c 100644 --- a/src/smf/gn-build.c +++ b/src/smf/gn-build.c @@ -39,6 +39,8 @@ static void build_qos_profile_from_session(ogs_gtp1_qos_profile_decoded_t *qos_p * required" [...] as described in clause "compatibility issues" (4.8.1) */ qos_pdec->qos_profile.data.delivery_order = OGS_GTP1_DELIVERY_ORDER_NO; + qos_pdec->qos_profile.data.delivery_erroneous_sdu = OGS_GTP1_DELIVERY_ERR_SDU_NO; + /* 3GPP TS 23.401 Annex E table Table E.3 */ /* Also take into account table 7 in 3GPP TS 23.107 9.1.2.2 */ switch (sess->session.qos.index) { /* QCI */