6 if (len(sys.argv) < 2):
7 print "Usage: %s [modem] <ussd-string>" % (sys.argv[0])
10 bus = dbus.SystemBus()
12 manager = dbus.Interface(bus.get_object('org.ofono', '/'),
15 modems = manager.GetModems()
17 if (len(sys.argv) == 2):
19 ussdstring = sys.argv[1]
22 ussdstring = sys.argv[2]
24 ussd = dbus.Interface(bus.get_object('org.ofono', path),
25 'org.ofono.SupplementaryServices')
27 properties = ussd.GetProperties()
28 state = properties["State"]
30 print "State: %s" % (state)
33 result = ussd.Initiate(ussdstring, timeout=100)
34 print result[0] + ": " + result[1]
35 elif state == "user-response":
36 print ussd.Respond(ussdstring, timeout=100)
40 properties = ussd.GetProperties()
41 state = properties["State"]
46 print "State: %s" % (state)
48 while state == "user-response":
49 response = raw_input("Enter response: ")
51 print ussd.Respond(response, timeout=100)
53 properties = ussd.GetProperties()
54 state = properties["State"]
57 print "State: %s" % (state)