View Single Post
woof404's Avatar
Posts: 11 | Thanked: 2 times | Joined on May 2010 @ Norway
#9
Originally Posted by mrudulpen View Post
Hi,

I tried giving the command on x-terminal and i get following error "Error com.nokia.csd.Call.Error.InvalidAddress: Create call: Invalid Address Error"

I am giving command as follows -
dbus-send --system --type=method_call --print-reply --dest=com.nokia.csd.Call /com/nokia/csd/call com.nokia.csd.Call.CreateWith string:"$0404848048" uint32:0

(NOTE: I have changed the number but the number length kept is same.)
I tried the same on serial port from my ubuntu machine using ATD command it works fine.
for eg: ATD 0404848048;

I have tried using python script and that also gives same error.
Here is the python code -
====mycall.py========

import gobject, dbus
from dbus.mainloop.glib import DBusGMainLoop

def place_call(number):
bus = dbus.SystemBus()
csd_call = dbus.Interface(bus.get_object('com.nokia.csd',
'/com/nokia/csd/call'),
'com.nokia.csd.Call')
csd_call.CreateWith(str(number), dbus.UInt32(0))

DBusGMainLoop(set_as_default=True)
place_call('0404848048')
gobject.MainLoop().run()

====mycall.py========

Can someone point to me what is going wrong here?

-MVP
That code worked fine with me. Remove the "$" from the string with the number in the dbus-send command on your terminal and see if it works better. I did some modification to implement a little dictionary, new code:

Code:
#!/usr/bin/python
import dbus, sys

def place_call(number):
bus = dbus.SystemBus() csd_call = dbus.Interface(bus.get_object('com.nokia.csd', '/com/nokia/csd/call'), 'com.nokia.csd.Call') csd.call.CreateWith(str(number), dbus.UInt32(0))
s = sys.argv[1] ar = ['name1', 00000000, 'name2', 00000000, 'name3', 00000000] if s == ar[0]:
place_call(ar[1])
elif s == ar[2]:
place_call(ar[3])
elif s == ar[4]:
place_call(ar[5])
else:
print "Sry, mate"
Had to write the adove code off from the N900 so there might be some typos, but you get the idea.