osmo-gsm-tester/suites/aoip_debug/interactive.py

49 lines
1.2 KiB
Python
Executable File

#!/usr/bin/env python3
from osmo_gsm_tester.test import *
hlr = suite.hlr()
bts = suite.bts()
mgcpgw = suite.mgcpgw(bts_ip=bts.remote_addr())
msc = suite.msc(hlr, mgcpgw)
bsc = suite.bsc(msc)
stp = suite.stp()
modems = suite.modems(int(prompt('How many modems?')))
hlr.start()
stp.start()
msc.start()
mgcpgw.start()
bsc.bts_add(bts)
bsc.start()
bts.start()
for m in modems:
hlr.subscriber_add(m)
m.connect(msc.mcc_mnc())
while True:
cmd = prompt('Enter command: (q)uit (s)ms (g)et-registered (w)ait-registered')
cmd = cmd.strip().lower()
if not cmd:
continue
if 'quit'.startswith(cmd):
break
elif 'wait-registered'.startswith(cmd):
try:
for m in modems:
wait(m.is_connected, msc.mcc_mnc())
wait(msc.subscriber_attached, *modems)
except Timeout:
print('Timeout while waiting for registration.')
elif 'get-registered'.startswith(cmd):
print(msc.imsi_list_attached())
print('RESULT: %s' %
('All modems are registered.' if msc.subscriber_attached(*modems)
else 'Some modem(s) not registered yet.'))
elif 'sms'.startswith(cmd):
for mo in modems:
for mt in modems:
mo.sms_send(mt.msisdn, 'to ' + mt.name())