| #!/usr/bin/python3 |
| |
| import sys |
| import dbus |
| |
| bus = dbus.SystemBus() |
| |
| manager = dbus.Interface(bus.get_object('org.ofono', '/'), |
| 'org.ofono.Manager') |
| |
| if (len(sys.argv) == 1): |
| modems = manager.GetModems() |
| path = modems[0][0] |
| elif (len(sys.argv) == 2): |
| path = sys.argv[1] |
| else: |
| print("Usage: %s [modem]" % (sys.argv[0])) |
| sys.exit(1) |
| |
| manager = dbus.Interface(bus.get_object('org.ofono', path), |
| 'org.ofono.VoiceCallManager') |
| |
| calls = manager.GetCalls() |
| |
| for path, properties in calls: |
| state = properties["State"] |
| print("[ %s ] %s" % (path, state)) |
| |
| if state != "active": |
| continue |
| |
| call = dbus.Interface(bus.get_object('org.ofono', path), |
| 'org.ofono.VoiceCall') |
| |
| call.Hangup() |