2017-06-12 13:31:27 +00:00
|
|
|
#!/usr/bin/env python3
|
2017-11-09 12:57:39 +00:00
|
|
|
from osmo_gsm_tester.testenv import *
|
2017-06-12 13:31:27 +00:00
|
|
|
|
|
|
|
USSD_COMMAND_GET_EXTENSION = '*#100#'
|
|
|
|
|
2020-05-05 11:41:42 +00:00
|
|
|
hlr = tenv.hlr()
|
|
|
|
bts = tenv.bts()
|
|
|
|
mgw_msc = tenv.mgw()
|
|
|
|
mgw_bsc = tenv.mgw()
|
|
|
|
stp = tenv.stp()
|
|
|
|
msc = tenv.msc(hlr, mgw_msc, stp)
|
|
|
|
bsc = tenv.bsc(msc, mgw_bsc, stp)
|
|
|
|
ms = tenv.modem()
|
2017-06-12 13:31:27 +00:00
|
|
|
|
2018-09-13 13:07:27 +00:00
|
|
|
hlr.start()
|
|
|
|
stp.start()
|
|
|
|
msc.start()
|
|
|
|
mgw_msc.start()
|
|
|
|
mgw_bsc.start()
|
|
|
|
|
|
|
|
bsc.bts_add(bts)
|
|
|
|
bsc.start()
|
|
|
|
|
2017-06-12 13:31:27 +00:00
|
|
|
bts.start()
|
2018-09-13 13:07:27 +00:00
|
|
|
wait(bsc.bts_is_connected, bts)
|
|
|
|
|
|
|
|
hlr.subscriber_add(ms)
|
2017-06-12 13:31:27 +00:00
|
|
|
|
2018-09-13 13:07:27 +00:00
|
|
|
ms.connect(msc.mcc_mnc())
|
2017-06-12 13:31:27 +00:00
|
|
|
|
|
|
|
ms.log_info()
|
|
|
|
|
|
|
|
print('waiting for modems to attach...')
|
2020-06-10 14:52:53 +00:00
|
|
|
wait(ms.is_registered, msc.mcc_mnc())
|
2018-09-13 13:07:27 +00:00
|
|
|
wait(msc.subscriber_attached, ms)
|
2017-06-12 13:31:27 +00:00
|
|
|
|
2017-08-02 11:08:35 +00:00
|
|
|
# ofono (qmi) currently changes state to 'registered' jut after sending
|
|
|
|
# 'Location Update Request', but before receiving 'Location Updating Accept'.
|
|
|
|
# Which means we can reach lines below and send USSD code while still not being
|
|
|
|
# attached, which will then fail. See OsmoGsmTester #2239 for more detailed
|
|
|
|
# information.
|
|
|
|
# Until we find an ofono fix or a better way to workaround this, let's just
|
|
|
|
# sleep for a while in order to receive the 'Location Updating Accept' message
|
|
|
|
# before attemting to send the USSD.
|
|
|
|
sleep(10)
|
|
|
|
|
2017-06-12 13:31:27 +00:00
|
|
|
print('Sending ussd code %s' % USSD_COMMAND_GET_EXTENSION)
|
|
|
|
response = ms.ussd_send(USSD_COMMAND_GET_EXTENSION)
|
2018-09-13 13:07:27 +00:00
|
|
|
log('got ussd response: %r' % repr(response))
|
2020-10-14 12:48:21 +00:00
|
|
|
assert response.endswith(' ' + ms.msisdn())
|