aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVadim Yanitskiy <vyanitskiy@sysmocom.de>2022-01-20 18:59:07 +0600
committerVadim Yanitskiy <vyanitskiy@sysmocom.de>2022-01-20 19:33:43 +0600
commitbada3c927dbf1f801f103bfc455f22f7a49184b9 (patch)
tree8ad6291b1fa07eeea29bc79a6c7e1e8adaadb77b
parent5313af9c40da3b5632552ea54a1a90566927510d (diff)
PGW_Tests: fix f_create_session(): add missing Serving Network IE
open5gs-smfd version 2.4.2 requires this IE to be present: [smf] INFO: [Added] Number of SMF-UEs is now 1 (../src/smf/context.c:820) [smf] INFO: [Added] Number of SMF-Sessions is now 1 (../src/smf/context.c:2610) [smf] ERROR: No Serving Network (../src/smf/s5c-handler.c:101) [smf] ERROR: No Data in Serving Network (../src/smf/s5c-handler.c:105) [smf] ERROR: Invalid Len[0] in Serving Network (../src/smf/s5c-handler.c:110) Change-Id: Idf6d147cc4a37996ee4ae6de18158b0e140d9db6 Related: SYS#5602
-rw-r--r--library/GTPv2_Templates.ttcn19
-rw-r--r--pgw/PGW_Tests.ttcn1
2 files changed, 20 insertions, 0 deletions
diff --git a/library/GTPv2_Templates.ttcn b/library/GTPv2_Templates.ttcn
index 3d690175..644728e5 100644
--- a/library/GTPv2_Templates.ttcn
+++ b/library/GTPv2_Templates.ttcn
@@ -1035,6 +1035,25 @@ tr_PDU_GTP2C(d_teid, seq, {
privateExtension := *
}});
+/* 8.18 */
+template (value) ServingNetwork
+ts_GTP2C_ServingNetwork(template (value) hexstring mcc,
+ template (value) hexstring mnc,
+ template (value) BIT4 instance := '0000'B) :=
+{
+ elementIdentifier := '53'O,
+ lengthIndicator := 0, /* overwritten */
+ instance := instance,
+ spare := '0000'B,
+ mccDigit1 := mcc[0],
+ mccDigit2 := mcc[1],
+ mccDigit3 := mcc[2],
+ mncDigit3 := mnc[2], /* 'F'H for 2 digit MNC */
+ mncDigit1 := mnc[0],
+ mncDigit2 := mnc[1],
+ additionalOctets := omit
+}
+
}
diff --git a/pgw/PGW_Tests.ttcn b/pgw/PGW_Tests.ttcn
index 81e3552a..f026e58d 100644
--- a/pgw/PGW_Tests.ttcn
+++ b/pgw/PGW_Tests.ttcn
@@ -305,6 +305,7 @@ private function f_create_session() runs on PGW_Session_CT {
var template (value) TAI tai := { '0'H, '0'H, '1'H, 'F'H, '0'H, '1'H, '0001'O };
var template (value) ECGI ecgi := { '0'H, '0'H, '1'H, 'F'H, '0'H, '1'H, '0'H, 23 };
g2c.gtpcv2_pdu.createSessionRequest.userLocationInfo := ts_GTP2C_UserLocInfo(tai := tai, ecgi := ecgi);
+ g2c.gtpcv2_pdu.createSessionRequest.servingNetwork := ts_GTP2C_ServingNetwork('001'H, '01F'H);
GTP2.send(g2c);
if (DIAMETER_PROC.checkstate("Connected")) {