[JDEV] conferencing with all services
fabien at Nightbird.Dynamic.TZoNE.ORG
Tue Aug 14 18:43:16 CDT 2001
On Tue, Aug 14, 2001 at 11:29:15AM -0700, Max Metral wrote:
> Ok let me try to play this out a bit more, and add the concept that the REAL
> user is the proxy user...
> Conference Participants: YahooMax, YahooDavid, JabberTemas, and JabberBauer.
> YahooMax has a Jabber account and is using his Jabber client, YahooDavid
> doesn't. JabberTemas has a Yahoo account and is using his Jabber client,
> JabberBauer does not have a Yahoo account.
> * YahooDavid initiates a conference with YahooMax. Yahoo server creates
> resources for the room.
> * Max decides he wants to add his buddies Temas and Bauer to the chat.
> * Jabber server creates resources for the Jabber side of the room.
> * Jabber server sends a room announcement to all the participants:
> - YahooMax gets the message via Jabber protocol since he's using
> Jabber client
> - YahooDavid gets a message via the Yahoo client FROM YahooMax's
> "agent" on the Jabber server, announcing that Jabber participants have
> joined using a normal user message like "<max has added Temas and Bauer from
> the Jabber world>"
> - Temas and Bauer both get the message via Jabber
> * The problematic messaging is between YahooDavid and Bauer (although
> realistically Temas and Bauer are probably viewed both as Jabber users in
> this example for simplicity). But let's try:
> - David sends a message to the room. The Jabber server sends the
> message to the Jabber participants normally, no big deal.
> - Temas sends a message to the room. The Jabber server sends a
> message AS YahooMax via the Yahoo transport with some sort of prefix on it
> <YahooMax says that JabberBauer says:> (ok so maybe that's too verbose but
> you get the idea).
> This mail seems overly deliberate, but isn't this possible without changing
> Yahoo/MSN/ICQ at all? It would certainly be a differentiator.
I can see three different kinds of "room proxy".
1- Each transport translate their room protocol to the jabber
conferencing protocol. This enable jabber user to join other transports
conferencing service. It's the more easy one to implement IMHO, but the
difficulties are really proper to each protocol.
2- The jabber server handle the connection. Since it's a jabber
service, only jabber clients can create the room and invite people from
there. Guest coming from normal jabber user used the normal
conferencing protocol. But guest coming from a transport agent (called
"foreign guest") are bind to the "host user". Every
message then send by the foreign guest to the user (remember, the
destination of a message coming from a yahoo client must be another
yahoo account) are send to the conferencing room and no more private
talk is possible. Also, the conference room send their message as
coming from the "host user" who invite him since the message most came
from a yahoo account to the yahoo client. I think this can be implement
with very small change over the conferencing module, simply by adding
the special "foreign guest" user type. The only thing I'm not sure is where
the messages coming from the foreign guest should be handled... in the
transport or in the conferencing module? The former is not very clean
and ask for modifications on all transport agent. The later is more
clean but I'm not sure if it's possible at all. Remember that all
messages are directed to the "host user".
3- Finally, the third method is as you describe and can be implement
like a mix of the two first methods, the special jabber conferencing
room acting like an anteroom to the transport conferencing room, the
later being see as a foreign guest of the former.
Of all those solutions, the first is the one that need more work.
Also, a critical part came from the jabber conferencing where we must
forward foreign guest message correctly to the room instead of to the
host user. Since both issues seems to involve modifying the transport
agent, I suggest to came with a clear protocol on how to do so before
beginning the work on the agents.
Just my 2 CDN pennies,
fabien at tzone.org http://www.tzone.org/~fabien
GPG KeyID: C15D FE9E BB35 F596 127F BF7D 8F1F DFC9 BCE0 9436
More information about the JDev