[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