[maemo-developers] Telephone API question - answering a call.

From: Edward Page eopage at byu.net
Date: Wed Jan 27 17:15:15 EET 2010
This is something I'm also very interested in.  With The One Ring (a
GV plugin for RTComm) there is a usability issue that could be solved
by auto-pick up of calls.  Unfortunately I'm busy with lower level
details at the moment and don't have the time to look into it.

I'm unsure how much experience you have with telepathy but I thought
I'd write down some theory and suggestions to get you on the right

On an incoming call, the "Connection Manager" (Sofia == SIP, Spirit ==
Skype, can't remember the name of GSM's) creates a DBus object called
a StreamedMedia channel.  This channel also implements an interface
for Group which allows multiple contacts (yourself being one of them)
to be associated with it with waiting lists for being accepted into
the channel.


It seems they are drafting a new channel type and interfaces for this,
so I don't know how long this will be relevant (at least for Maemo 5 I
would guess)

In my repo I have a hand test which gives examples on how to be a
client, to be the one making calls

My guess is you would need to monitor for the NewChannel signal from
the Connection

This will give you notification of dbus objects including their object
path and their channel type (if Streamed Media).  For your to
programmatically determine who initiated the call and to pick up, I
recommend this part of the Streamed Media spec

Incoming calls should be signalled as TargetHandleType  = Contact,
TargetHandle  set to the remote contact, with the local user in
LocalPendingMembers; to accept the call, AddMembers  can be used to
move the local user to the group's members.

When the local user accepts an incoming call, the connection manager
SHOULD change the direction of any streams with pending local send to
be sending, without altering whether those streams are receiving.

This matches existing practice, and means that a client can answer
incoming calls and get an unmuted microphone/activated webcam without
having to take additional action to accept the stream directions.

I hope this at least gets you in the right direction if you weren't
there already.
Ed Page
More information about the maemo-developers mailing list