[Bug 24939] Interface for upgrading chats/calls to multi-user

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri Nov 13 19:51:31 CET 2009


http://bugs.freedesktop.org/show_bug.cgi?id=24939





--- Comment #3 from Simon McVittie <simon.mcvittie at collabora.co.uk>  2009-11-13 10:51:31 PST ---
Here's the protocol-level situation in MSN. I'm told it's basically
equivalent in Skype, except that the constructs on the server aren't
called switchboards; I'll use the MSN terminology here.

* Two users, Alice and Bob, are chatting. To contain their messages, the
  MSN servers provide a construct called a "switchboard". Telepathy
  models this as a Channel. Suppose they're in a switchboard S1, which
  telepathy-butterfly represents by a channel C1.

* If Alice and Bob are idle for a while, the switchboard will
  automatically be closed by the server. A new switchboard, S2, needs
  to be created in order for either of them to send a message to the
  other. To be nice to UIs, telepathy-butterfly does this automatically,
  so the channel C1 is now associated with a switchboard S2.

* Bob invites Chris to join the conversation. The switchboard S2 now
  connects Alice, Bob and Chris. (As a side-effect of having more than
  two people in it, the switchboard is now no longer susceptible to
  being closed automatically by the server.)

* telepathy-butterfly needs to do something with the channel C1 to
  indicate that Chris is a member.

The proposal is that since UIs need to cope with the XMPP way of doing
things *anyway*, we should simplify by pretending that all protocols act
like XMPP. From Alice's point of view:

* there is a 1-1 Channel (call it C1), with TargetHandleType = CONTACT,
  TargetHandle = Bob; it represents the switchboard S2 (and previously, it
  represented S1)
* a new Channel, C2, appears, with TargetHandleType = NONE (an
  "anonymous chatroom"); now *it* represents the switchboard S2
* C2 has some property that identifies it as a continuation of C1
* if Alice ignores C2 and sends a message to C1, either:
  - a new switchboard S3 is created to communicate with Bob and the
    message is sent to S3; or
  - sending that message fails with a user-visible error
* it's unclear whether C1 should close automatically (tbd)

and from Bob's point of view:

* there is a 1-1 Channel C3 with TargetHandleType = CONTACT,
  TargetHandle = Alice; it represents the switchboard S2 (and previously,
  it represented S1)
* Bob uses some yet-to-be-defined API to make a new Channel, C4, with
  himself in it, and invite Alice and Chris to that Channel
* C4 has TargetHandleType = NONE, and the same property as C2 to
  identify it as a continuation of C3
* C3 might automatically close? (tbd)
* if Alice ignores the room and sends a 1-1 message to Bob via a new
  switchboard S3, then that message turns up in C3 (if it still exists) or
  in a new 1-1 channel C5 (otherwise)


-- 
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the telepathy-bugs mailing list