diff options
author | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | 2022-01-20 18:59:07 +0600 |
---|---|---|
committer | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | 2022-01-20 19:33:43 +0600 |
commit | bada3c927dbf1f801f103bfc455f22f7a49184b9 (patch) | |
tree | 8ad6291b1fa07eeea29bc79a6c7e1e8adaadb77b | |
parent | 5313af9c40da3b5632552ea54a1a90566927510d (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.ttcn | 19 | ||||
-rw-r--r-- | pgw/PGW_Tests.ttcn | 1 |
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")) { |