[Telepathy] When is their phone ringing (was: Group interface usage?)
simon.mcvittie at collabora.co.uk
Mon Jul 23 19:20:03 PDT 2007
On Mon, 23 Jul 2007 at 15:33:23 +0300, Pekka Pessi wrote:
> On traditional telephony the media channel is activated when the
> remote end is alerting (so you can hear the ringing tone). So
> initially the audio stream will have both remote and local pending
> flags set. Alerting / 180 Ringing progress indication would then clear
> the remote pending flag and Call confirm / 200 OK the local pending
Perhaps we could use this useful information in a later version of the
Streamed Media spec, but for the moment we can't: local pending and
remote pending are not flags, they're effectively states, part of the
generic group-channel semantics. A contact can only be local-pending or
remote-pending in a particular channel, not both.
Users in local pending have asked or been invited to join a group; we can
let them in by calling AddMembers([contact_handle]). The local user
might get put in local pending too, for instance if we get invited.
Users in remote pending have attempted, or been asked, to join a group, but we
have to wait for a remote user (possibly the same) to accept.
(Similar wording should go in the spec, once someone has rewritten it
with the benefit of more sleep.)
In the outgoing phone-call case, while the phone is ringing, that's definitely
a case of "the recipient is remote pending" - we can't make them pick up,
it's up to them to accept or reject the call. Meanwhile, for incoming
phone calls, while our phone is ringing, we're definitely in local
pending state, because we're in control of whether to accept or reject.
I suppose one plausible mapping would be to avoid adding the remote user
to remote-pending state until their phone is actually ringing (so
they're not in any of the membership lists until then). I think it makes
more sense to put them in remote-pending as soon as we attempt to call
More information about the Telepathy