module SGSN_Tests_NS { /* Osmocom SGSN test suite in TTCN-3 * (C) 2020 sysmocom - s.f.m.c. GmbH * All rights reserved. * * Released under the terms of GNU General Public License, Version 2 or * (at your option) any later version. * * SPDX-License-Identifier: GPL-2.0-or-later */ import from Osmocom_Types all; import from Osmocom_Gb_Types all; import from Osmocom_VTY_Functions all; import from NS_CodecPort all; import from NS_Types all; import from RAW_NS all; import from SGSN_Tests all; type component RAW_Test_CT extends RAW_NS_CT, test_CT { } testcase TC_NS_connect_reset() runs on RAW_Test_CT { f_init_vty(); f_init_ns_codec(mp_nsconfig[0], guard_secs := 10.0, tc_offset := 10); f_vty_config(SGSNVTY, "ns", "encapsulation udp use-reset-block-unblock enabled"); /* Send a NS-ALIVE */ f_outgoing_ns_reset(); f_sleep(1.0); f_cleanup(); } testcase TC_NS_connect_alive() runs on RAW_Test_CT { f_init_vty(); f_init_ns_codec(mp_nsconfig[0], guard_secs := 10.0, tc_offset := 20); f_vty_config(SGSNVTY, "ns", "encapsulation udp use-reset-block-unblock disabled"); /* Send a NS-ALIVE */ NSCP[0].send(t_NS_Send(g_ns_conn_id[0], t_NS_ALIVE)); alt { [] NSCP[0].receive(t_NS_RecvFrom(t_NS_ALIVE_ACK)); [] NSCP[0].receive(t_NS_RecvFrom(tr_NS_STATUS(*))) { setverdict(fail); } [] NSCP[0].receive { repeat; } } f_sleep(1.0); f_cleanup(); } control { execute( TC_NS_connect_alive() ); execute( TC_NS_connect_reset() ); } }