Pau Espin Pedrol | 03983aa | 2017-06-12 15:31:27 +0200 | [diff] [blame] | 1 | #!/usr/bin/env python3 |
| 2 | from osmo_gsm_tester.test import * |
| 3 | |
| 4 | USSD_COMMAND_GET_EXTENSION = '*#100#' |
| 5 | |
| 6 | hlr = suite.hlr() |
| 7 | bts = suite.bts() |
| 8 | mgcpgw = suite.mgcpgw(bts_ip=bts.remote_addr()) |
Pau Espin Pedrol | 386b78d | 2017-11-09 13:02:09 +0100 | [diff] [blame] | 9 | mgw_bsc = suite.mgw() |
Pau Espin Pedrol | 03983aa | 2017-06-12 15:31:27 +0200 | [diff] [blame] | 10 | msc = suite.msc(hlr, mgcpgw) |
Pau Espin Pedrol | 386b78d | 2017-11-09 13:02:09 +0100 | [diff] [blame] | 11 | bsc = suite.bsc(msc, mgw_bsc) |
Pau Espin Pedrol | 03983aa | 2017-06-12 15:31:27 +0200 | [diff] [blame] | 12 | stp = suite.stp() |
| 13 | ms = suite.modem() |
| 14 | |
| 15 | hlr.start() |
| 16 | stp.start() |
| 17 | msc.start() |
| 18 | mgcpgw.start() |
Pau Espin Pedrol | 386b78d | 2017-11-09 13:02:09 +0100 | [diff] [blame] | 19 | mgw_bsc.start() |
Pau Espin Pedrol | 03983aa | 2017-06-12 15:31:27 +0200 | [diff] [blame] | 20 | |
| 21 | bsc.bts_add(bts) |
| 22 | bsc.start() |
| 23 | |
| 24 | bts.start() |
| 25 | |
| 26 | hlr.subscriber_add(ms) |
| 27 | |
| 28 | ms.connect(msc.mcc_mnc()) |
| 29 | |
| 30 | ms.log_info() |
| 31 | |
| 32 | print('waiting for modems to attach...') |
| 33 | wait(ms.is_connected, msc.mcc_mnc()) |
| 34 | wait(msc.subscriber_attached, ms) |
| 35 | |
Pau Espin Pedrol | 2d9c14a | 2017-08-02 13:08:35 +0200 | [diff] [blame] | 36 | # 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. |
| 44 | sleep(10) |
| 45 | |
Pau Espin Pedrol | 03983aa | 2017-06-12 15:31:27 +0200 | [diff] [blame] | 46 | print('Sending ussd code %s' % USSD_COMMAND_GET_EXTENSION) |
| 47 | response = ms.ussd_send(USSD_COMMAND_GET_EXTENSION) |
| 48 | assert ' ' + ms.msisdn + '\r' in response |