mirror of git://git.sysmocom.de/ofono
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
117 lines
2.5 KiB
117 lines
2.5 KiB
#!/usr/bin/python3
|
|
|
|
from gi.repository import GLib
|
|
|
|
import dbus
|
|
import dbus.mainloop.glib
|
|
|
|
def property_changed(property, value):
|
|
print("CallSettings property %s changed to %s" % (property, value))
|
|
|
|
def print_properties(cs):
|
|
properties = cs.GetProperties()
|
|
|
|
for p in properties:
|
|
print("property %s, value: %s" % (p, properties[p]))
|
|
|
|
if __name__ == "__main__":
|
|
dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
|
|
|
|
bus = dbus.SystemBus()
|
|
|
|
manager = dbus.Interface(bus.get_object('org.ofono', '/'),
|
|
'org.ofono.Manager')
|
|
|
|
modems = manager.GetModems()
|
|
|
|
cs = dbus.Interface(bus.get_object('org.ofono', modems[0][0]),
|
|
'org.ofono.CallSettings')
|
|
|
|
cs.connect_to_signal("PropertyChanged", property_changed)
|
|
|
|
ss = dbus.Interface(bus.get_object('org.ofono', modems[0][0]),
|
|
'org.ofono.SupplementaryServices')
|
|
|
|
print_properties(cs)
|
|
|
|
print("Trying invalid SS request for CLIR")
|
|
try:
|
|
print(ss.Initiate("*31#456666"))
|
|
except dbus.DBusException as e:
|
|
print("Failed with %s - Good" % e)
|
|
|
|
print("Trying invalid SS request for CLIR")
|
|
try:
|
|
print(ss.Initiate("*31*455*4#"))
|
|
except dbus.DBusException as e:
|
|
print("Failed with %s - Good" % e)
|
|
|
|
print("Trying invalid SS request for CLIR")
|
|
try:
|
|
print(ss.Initiate("*31**44435#"))
|
|
except dbus.DBusException as e:
|
|
print("Failed with %s - Good" % e)
|
|
|
|
print("Query CLIP")
|
|
print(ss.Initiate("*#30#"))
|
|
|
|
print("Query CNAP")
|
|
print(ss.Initiate("*#300#"))
|
|
|
|
print("Query COLP")
|
|
print(ss.Initiate("*#76#"))
|
|
|
|
print("Query CLIR")
|
|
print(ss.Initiate("*#31#"))
|
|
|
|
print("Activate CLIR")
|
|
print(ss.Initiate("*31#"))
|
|
|
|
print_properties(cs)
|
|
|
|
print("Deactivate CLIR")
|
|
print(ss.Initiate("#31#"))
|
|
|
|
print_properties(cs)
|
|
|
|
print("Trying invalid SS request for CW")
|
|
try:
|
|
print(ss.Initiate("*43#456666"))
|
|
except dbus.DBusException as e:
|
|
print("Failed with %s - Good" % e)
|
|
|
|
print("Trying invalid SS request for CW")
|
|
try:
|
|
print(ss.Initiate("*43*455*4#"))
|
|
except dbus.DBusException as e:
|
|
print("Failed with %s - Good" % e)
|
|
|
|
print("Trying invalid SS request for CW")
|
|
try:
|
|
print(ss.Initiate("*43**44435#"))
|
|
except dbus.DBusException as e:
|
|
print("Failed with %s - Good" % e)
|
|
|
|
print("Query CW")
|
|
print(ss.Initiate("*#43#"))
|
|
|
|
print("Query CW, only Voice")
|
|
print(ss.Initiate("*#43*11#"))
|
|
|
|
print("Query CW, only Fax")
|
|
print(ss.Initiate("*#43*13#"))
|
|
|
|
print("Disable CW for everything")
|
|
print(ss.Initiate("#43#"));
|
|
|
|
print_properties(cs)
|
|
|
|
print("Enable CW for Voice")
|
|
print(ss.Initiate("*43*11#"))
|
|
|
|
print_properties(cs)
|
|
|
|
mainloop = GLib.MainLoop()
|
|
mainloop.run()
|
|
|