From 14d771b90f5a7d3887e5e900d1fb4737477ad305 Mon Sep 17 00:00:00 2001 From: Guido Günther Date: Wed, 5 Feb 2014 08:38:27 +0100 Subject: Imported Upstream version 0.5.2.0 --- test/ussd.py | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100755 test/ussd.py (limited to 'test/ussd.py') diff --git a/test/ussd.py b/test/ussd.py new file mode 100755 index 0000000..73b8f8e --- /dev/null +++ b/test/ussd.py @@ -0,0 +1,48 @@ +#!/usr/bin/python +# -*- Mode: python; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details: +# +# Copyright (C) 2010 Guido Guenther +# +# Usage: ./test/ussd.py /org/freedesktop/ModemManager/Modems/0 '*130#' + +import sys, dbus, re + +MM_DBUS_SERVICE='org.freedesktop.ModemManager' +MM_DBUS_INTERFACE_USSD='org.freedesktop.ModemManager.Modem.Gsm.Ussd' + +if len(sys.argv) != 3: + print "Usage: %s dbus_object [|cancel]" % sys.argv[0] + sys.exit(1) +else: + arg = sys.argv[2] + +bus = dbus.SystemBus() +objpath = sys.argv[1] +if objpath[:1] != '/': + objpath = "/org/freedesktop/ModemManager/Modems/" + str(objpath) +proxy = bus.get_object(MM_DBUS_SERVICE, objpath) + +modem = dbus.Interface(proxy, dbus_interface=MM_DBUS_INTERFACE_USSD) + +# For testing purposes treat all "common" USSD sequences as initiate and the +# rest (except for cancel) as response. See GSM 02.90. +initiate_re = re.compile('[*#]{1,3}1[0-9][0-9].*#') + +if initiate_re.match(arg): + ret = modem.Initiate(arg) +elif arg == "cancel": + ret = modem.Cancel() +else: + ret = modem.Respond(arg) +print ret + -- cgit v1.2.3