blob: 5204be865e407fa18aeb80bf0e81c8f8b1b2ec0e [file] [log] [blame]
Pau Espin Pedrol03983aa2017-06-12 15:31:27 +02001#!/usr/bin/env python3
Pau Espin Pedroldfe38ad2017-11-09 13:57:39 +01002from osmo_gsm_tester.testenv import *
Pau Espin Pedrol03983aa2017-06-12 15:31:27 +02003
4USSD_COMMAND_GET_EXTENSION = '*#100#'
5
6hlr = suite.hlr()
7bts = suite.bts()
8mgcpgw = suite.mgcpgw(bts_ip=bts.remote_addr())
Pau Espin Pedrol386b78d2017-11-09 13:02:09 +01009mgw_bsc = suite.mgw()
Pau Espin Pedrol03983aa2017-06-12 15:31:27 +020010msc = suite.msc(hlr, mgcpgw)
Pau Espin Pedrol386b78d2017-11-09 13:02:09 +010011bsc = suite.bsc(msc, mgw_bsc)
Pau Espin Pedrol03983aa2017-06-12 15:31:27 +020012stp = suite.stp()
13ms = suite.modem()
14
15hlr.start()
16stp.start()
17msc.start()
18mgcpgw.start()
Pau Espin Pedrol386b78d2017-11-09 13:02:09 +010019mgw_bsc.start()
Pau Espin Pedrol03983aa2017-06-12 15:31:27 +020020
21bsc.bts_add(bts)
22bsc.start()
23
24bts.start()
25
26hlr.subscriber_add(ms)
27
28ms.connect(msc.mcc_mnc())
29
30ms.log_info()
31
32print('waiting for modems to attach...')
33wait(ms.is_connected, msc.mcc_mnc())
34wait(msc.subscriber_attached, ms)
35
Pau Espin Pedrol2d9c14a2017-08-02 13:08:35 +020036# ofono (qmi) currently changes state to 'registered' jut after sending
37# 'Location Update Request', but before receiving 'Location Updating Accept'.
38# Which means we can reach lines below and send USSD code while still not being
39# attached, which will then fail. See OsmoGsmTester #2239 for more detailed
40# information.
41# Until we find an ofono fix or a better way to workaround this, let's just
42# sleep for a while in order to receive the 'Location Updating Accept' message
43# before attemting to send the USSD.
44sleep(10)
45
Pau Espin Pedrol03983aa2017-06-12 15:31:27 +020046print('Sending ussd code %s' % USSD_COMMAND_GET_EXTENSION)
47response = ms.ussd_send(USSD_COMMAND_GET_EXTENSION)
48assert ' ' + ms.msisdn + '\r' in response