bluez/test/test-telephony

161 lines
3.7 KiB
Python
Executable File

#!/usr/bin/python
import sys
import dbus
bus = dbus.SystemBus()
manager = dbus.Interface(bus.get_object("org.bluez", "/"), "org.bluez.Manager")
adapter = dbus.Interface(bus.get_object("org.bluez", manager.DefaultAdapter()),
"org.bluez.Adapter")
test = dbus.Interface(bus.get_object("org.bluez", "/org/bluez/test"),
"org.bluez.TelephonyTest")
if len(sys.argv) < 2:
print """Usage: %s <command>
connect <bdaddr>
disconnect <bdaddr>
outgoing <number>
incoming <number>
cancel
signal <level>
battery <level>
roaming <yes|no>
registration <status>
subscriber <number>
speakergain <bdaddr> [level]
microphonegain <bdaddr> [level]
play <bdaddr>
stop <bdaddr>
""" % sys.argv[0]
sys.exit(1)
if sys.argv[1] == "connect":
if len(sys.argv) < 3:
print "Need device address parameter"
sys.exit(1)
device = adapter.FindDevice(sys.argv[2])
headset = dbus.Interface(bus.get_object("org.bluez", device),
"org.bluez.Headset")
headset.Connect()
sys.exit(0)
if sys.argv[1] == "disconnect":
if len(sys.argv) < 3:
print "Need device address parameter"
sys.exit(1)
device = adapter.FindDevice(sys.argv[2])
headset = dbus.Interface(bus.get_object("org.bluez", device),
"org.bluez.Headset")
headset.Disconnect()
sys.exit(0)
if sys.argv[1] == "speakergain":
if len(sys.argv) < 3:
print "Need device address parameter"
sys.exit(1)
device = adapter.FindDevice(sys.argv[2])
headset = dbus.Interface(bus.get_object("org.bluez", device),
"org.bluez.Headset")
if len(sys.argv) > 3:
headset.SetProperty('SpeakerGain', dbus.UInt16(sys.argv[3]))
else:
props = headset.GetProperties()
print props['SpeakerGain']
sys.exit(0)
if sys.argv[1] == "microphonegain":
if len(sys.argv) < 3:
print "Need device address parameter"
sys.exit(1)
device = adapter.FindDevice(sys.argv[2])
headset = dbus.Interface(bus.get_object("org.bluez", device),
"org.bluez.Headset")
if len(sys.argv) > 3:
headset.SetProperty('MicrophoneGain', dbus.UInt16(sys.argv[3]))
else:
props = headset.GetProperties()
print props['MicrophoneGain']
sys.exit(0)
if sys.argv[1] == "play":
if len(sys.argv) < 3:
print "Need device address parameter"
sys.exit(1)
device = adapter.FindDevice(sys.argv[2])
headset = dbus.Interface(bus.get_object("org.bluez", device),
"org.bluez.Headset")
headset.Play()
sys.exit(0)
if sys.argv[1] == "stop":
if len(sys.argv) < 3:
print "Need device address parameter"
sys.exit(1)
device = adapter.FindDevice(sys.argv[2])
headset = dbus.Interface(bus.get_object("org.bluez", device),
"org.bluez.Headset")
headset.Stop()
sys.exit(0)
if sys.argv[1] == "outgoing":
if len(sys.argv) > 2:
test.OutgoingCall(sys.argv[2])
else:
print "Need number parameter"
sys.exit(0)
if sys.argv[1] == "incoming":
if len(sys.argv) > 2:
test.IncomingCall(sys.argv[2])
else:
print "Need number parameter"
sys.exit(0)
if sys.argv[1] == "cancel":
test.CancelCall()
sys.exit(0)
if sys.argv[1] == "signal":
if len(sys.argv) > 2:
test.SignalStrength(sys.argv[2])
else:
print "Need signal strength parameter"
sys.exit(0)
if sys.argv[1] == "battery":
if len(sys.argv) > 2:
test.BatteryLevel(sys.argv[2])
else:
print "Need battery level parameter"
sys.exit(0)
if sys.argv[1] == "roaming":
if len(sys.argv) > 2:
test.RoamingStatus(sys.argv[2] == "yes" or False)
else:
print "Need yes/no parameter"
sys.exit(0)
if sys.argv[1] == "registration":
if len(sys.argv) > 2:
test.RegistrationStatus(sys.argv[2] == "yes" or False)
else:
print "Need yes/no parameter"
sys.exit(0)
if sys.argv[1] == "subscriber":
if len(sys.argv) > 2:
test.SetSubscriberNumber(sys.argv[2])
else:
print "Need number parameter"
sys.exit(0)
print "Unknown command"
sys.exit(1)