Skip to content

Commit

Permalink
[SMF,MME] Gn: Set Delivery order QoS field to No
Browse files Browse the repository at this point in the history
Before this patch, it was set as 0, which is Reserved in Network to MS
direction.
  • Loading branch information
pespin committed Jan 26, 2024
1 parent 3886891 commit ccb64c3
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 0 deletions.
6 changes: 6 additions & 0 deletions lib/gtp/v1/types.h
Original file line number Diff line number Diff line change
Expand Up @@ -218,6 +218,12 @@ typedef struct ogs_gtp1_gsn_addr_s {
#define OGS_GTP1_APN_RESTRICTION_PRIVATE_1 3
#define OGS_GTP1_APN_RESTRICTION_PRIVATE_2 4

/* Table 10.5.156/3GPP TS 24.008 Quality of service */
/* Delivery order, octet 6 (see also 3GPP TS 23.107) */
#define OGS_GTP1_DELIVERY_ORDER_SUBSCRIBED 0
#define OGS_GTP1_DELIVERY_ORDER_YES 1
#define OGS_GTP1_DELIVERY_ORDER_NO 2

/* 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 */
Expand Down
7 changes: 7 additions & 0 deletions src/mme/mme-gn-build.c
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,13 @@ static void build_qos_profile_from_session(ogs_gtp1_qos_profile_decoded_t *qos_p

qos_pdec->qos_profile.arp = session->qos.arp.priority_level;

/* 3GPP TS 23.107 "Delivery order should be set to 'no' for PDP Type =
* 'IPv4' or 'IPv6'. The SGSN shall ensure that the appropriate value is set."
* 3GPP TS 23.401 D.3.5 2b NOTE4: The GTP and PDCP sequence numbers are not
* relevant as the network does not configure usage of "delivery order
* required" [...] as described in clause "compatibility issues" (4.8.1) */
qos_pdec->qos_profile.data.delivery_order = OGS_GTP1_DELIVERY_ORDER_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 */
Expand Down
7 changes: 7 additions & 0 deletions src/smf/gn-build.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,13 @@ static void build_qos_profile_from_session(ogs_gtp1_qos_profile_decoded_t *qos_p

qos_pdec->qos_profile.arp = sess->session.qos.arp.priority_level;

/* 3GPP TS 23.107 "Delivery order should be set to 'no' for PDP Type =
* 'IPv4' or 'IPv6'. The SGSN shall ensure that the appropriate value is set."
* 3GPP TS 23.401 D.3.5 2b NOTE4: The GTP and PDCP sequence numbers are not
* relevant as the network does not configure usage of "delivery order
* required" [...] as described in clause "compatibility issues" (4.8.1) */
qos_pdec->qos_profile.data.delivery_order = OGS_GTP1_DELIVERY_ORDER_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 */
Expand Down

0 comments on commit ccb64c3

Please sign in to comment.