From 900d01ad3474f4bfe90a8c5c29d8f170f15e4702 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Tue, 13 Aug 2019 13:27:51 +0200 Subject: [PATCH] sgsn: add Iu Attach Request MS -> SGSN: Attach Request IMSI MS <- SGSN: Identity Request IMEI MS -> SGSN: Identity Response IMEI MS <- SGSN: Auth Request MS -> SGSN: Auth Response MS <- SGSN: Attach Accept MS -> SGSN: Attach Complete Change-Id: I66069e31c30d33934ad57cc2b8794f56ffd5c7d6 --- sgsn/SGSN_Tests.ttcn | 2 ++ sgsn/SGSN_Tests_Iu.ttcn | 45 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 sgsn/SGSN_Tests_Iu.ttcn diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index 4a477239e..adbcf1945 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -11,6 +11,8 @@ module SGSN_Tests { * SPDX-License-Identifier: GPL-2.0-or-later */ +friend module SGSN_Tests_Iu; + import from General_Types all; import from Osmocom_Types all; import from Native_Functions all; diff --git a/sgsn/SGSN_Tests_Iu.ttcn b/sgsn/SGSN_Tests_Iu.ttcn new file mode 100644 index 000000000..ace295cfa --- /dev/null +++ b/sgsn/SGSN_Tests_Iu.ttcn @@ -0,0 +1,45 @@ +module SGSN_Tests_Iu { + +import from Osmocom_Types all; + +import from SGSN_Tests all; + +import from RAN_Adapter all; +import from RAN_Emulation all; +import from RANAP_Templates all; +import from RANAP_PDU_Descriptions all; +import from RANAP_IEs all; + + +private function f_TC_iu_attach(charstring id) runs on BSSGP_ConnHdlr { + var PdpActPars apars := valueof(t_PdpActPars(mp_ggsn_ip)); + + /* first perform regular attach */ + f_gmm_attach(umts_aka_challenge := true, force_gsm_sres := false, gb_idx := 3); + setverdict(pass); +} +testcase TC_iu_attach() runs on test_CT { + /* MS -> SGSN: Attach Request IMSI + * MS <- SGSN: Identity Request IMEI + * MS -> SGSN: Identity Response IMEI + * MS <- SGSN: Auth Request + * MS -> SGSN: Auth Response + * MS <- SGSN: Attach Accept + * MS -> SGSN: Attach Complete + */ + var BSSGP_ConnHdlr vc_conn; + f_init(); + f_sleep(1.0); + vc_conn := f_start_handler(refers(f_TC_iu_attach), testcasename(), g_gb, 1001); + vc_conn.done; + f_cleanup(); +} + + + +control { + execute( TC_iu_attach() ); +} + + +}