mirror of git://git.sysmocom.de/ofono
Add another test script for USSD transactions
This commit is contained in:
parent
0b2beb0068
commit
0e4aaf0042
|
@ -339,6 +339,7 @@ test_scripts = test/activate-context \
|
|||
test/test-voicecall \
|
||||
test/test-ussd \
|
||||
test/cancel-ussd \
|
||||
test/initiate-ussd \
|
||||
test/offline-modem \
|
||||
test/online-modem \
|
||||
test/get-tech-preference \
|
||||
|
|
|
@ -9,10 +9,15 @@ manager = dbus.Interface(bus.get_object('org.ofono', '/'),
|
|||
'org.ofono.Manager')
|
||||
|
||||
properties = manager.GetProperties()
|
||||
|
||||
path = properties["Modems"][0]
|
||||
|
||||
ussd = dbus.Interface(bus.get_object('org.ofono', path),
|
||||
'org.ofono.SupplementaryServices')
|
||||
|
||||
ussd.Cancel()
|
||||
properties = ussd.GetProperties()
|
||||
state = properties["State"]
|
||||
|
||||
print "State: %s" % (state)
|
||||
|
||||
if state != "idle":
|
||||
ussd.Cancel()
|
||||
|
|
|
@ -0,0 +1,59 @@
|
|||
#!/usr/bin/python
|
||||
|
||||
import sys
|
||||
import dbus
|
||||
|
||||
if (len(sys.argv) < 2):
|
||||
print "Usage: %s <ussd-string>" % (sys.argv[0])
|
||||
sys.exit(1)
|
||||
|
||||
bus = dbus.SystemBus()
|
||||
|
||||
manager = dbus.Interface(bus.get_object('org.ofono', '/'),
|
||||
'org.ofono.Manager')
|
||||
|
||||
properties = manager.GetProperties()
|
||||
path = properties["Modems"][0]
|
||||
|
||||
ussd = dbus.Interface(bus.get_object('org.ofono', path),
|
||||
'org.ofono.SupplementaryServices')
|
||||
|
||||
properties = ussd.GetProperties()
|
||||
state = properties["State"]
|
||||
|
||||
print "State: %s" % (state)
|
||||
|
||||
if state != "idle":
|
||||
sys.exit(1);
|
||||
|
||||
result = ussd.Initiate(sys.argv[1], timeout=100)
|
||||
|
||||
properties = ussd.GetProperties()
|
||||
state = properties["State"]
|
||||
|
||||
print result[0] + ": " + result[1]
|
||||
|
||||
if state == "idle":
|
||||
sys.exit(0)
|
||||
|
||||
print "State: %s" % (state)
|
||||
|
||||
if state != "user-response":
|
||||
ussd.Cancel()
|
||||
sys.exit(0)
|
||||
|
||||
response = raw_input("Enter response: ")
|
||||
|
||||
result = ussd.Respond(response)
|
||||
|
||||
properties = ussd.GetProperties()
|
||||
state = properties["State"]
|
||||
|
||||
print result
|
||||
|
||||
if state == "idle":
|
||||
sys.exit(0)
|
||||
|
||||
print "State: %s" % (state)
|
||||
|
||||
ussd.Cancel()
|
Loading…
Reference in New Issue