blob: e0968ac4c711dcbf0ca65f9d3ad10c3586e9cc9c [file] [log] [blame]
Pau Espin Pedrold7fa0362018-11-21 12:36:53 +01001#!/usr/bin/env python3
2
3# Following test verifies GPRS works fine after MS stays idle (no data
4# sent/received) for a long while.
5# See OS#3678 and OS#2455 for more information.
6
7from osmo_gsm_tester.testenv import *
8
9hlr = suite.hlr()
10bts = suite.bts()
11pcu = bts.pcu()
12mgw_msc = suite.mgw()
13mgw_bsc = suite.mgw()
14stp = suite.stp()
15ggsn = suite.ggsn()
16sgsn = suite.sgsn(hlr, ggsn)
17msc = suite.msc(hlr, mgw_msc, stp)
18bsc = suite.bsc(msc, mgw_bsc, stp)
19ms = suite.modem()
20
21bsc.bts_add(bts)
22sgsn.bts_add(bts)
23
24print('start network...')
25hlr.start()
26stp.start()
27ggsn.start()
28sgsn.start()
29msc.start()
30mgw_msc.start()
31mgw_bsc.start()
32bsc.start()
33
34bts.start()
35wait(bsc.bts_is_connected, bts)
36print('Waiting for bts to be ready...')
37wait(bts.ready_for_pcu)
38pcu.start()
39
40hlr.subscriber_add(ms)
41
42ms.connect(msc.mcc_mnc())
43ms.attach()
44
45ms.log_info()
46
47print('waiting for modems to attach...')
48wait(ms.is_connected, msc.mcc_mnc())
49wait(msc.subscriber_attached, ms)
50
51print('waiting for modems to attach to data services...')
52wait(ms.is_attached)
53
54# We need to use inet46 since ofono qmi only uses ipv4v6 eua (OS#2713)
55ctx_id_v4 = ms.activate_context(apn='inet46', protocol=ms.CTX_PROT_IPv4)
56print("Setting up data plane for %r" % repr(ctx_id_v4))
57ms.setup_context_data_plane(ctx_id_v4)
58print("[1] Running 10 ping requests for %r" % repr(ctx_id_v4))
59ms.run_netns_wait('ping1', ('ping', '-c', '10', ggsn.addr()))
60
61print("Sleeping for 60 seconds")
62sleep(60)
63
64print("[2] Running 10 ping requests for %r" % repr(ctx_id_v4))
65ms.run_netns_wait('ping2', ('ping', '-c', '10', ggsn.addr()))
66ms.deactivate_context(ctx_id_v4)