Re: [Ekiga-devel-list] On rewriting the text chat stack



Hi Julien,

Thanks for getting back into this.

In SIP, I see two basic ways of having Chat sessions :
- Using the SIP MESSAGE request. It works like an SMS. You do not have a notion of "conversation", you just send a simple text message somewhere. That is what Ekiga supports until now.
- Using the MSRP protocol. It works like a "Text Call". You have a notion of "conversation" between two peers and notifications indicating that the remote is typing.

However, MSRP brings more features than simple text chat :
- File Transfer over MSRP
- Screen Sharing over MSRP

You also have extensions :
- Multi-participants chat rooms
- Conference information through the "conference-info" Event package

I think we should keep this in mind, but limit ourselves to 1-to-1 conversations for now.

Le vendredi 09 octobre 2015 à 18:18 +0200, Julien Puydt a écrit :
Hi,

I would like to help redesign the ekiga chat core. Of course, that means 
one should have a look at how text chat happens within various protocols 
beforehand.


With IRC (https://tools.ietf.org/html/rfc1459):

- you connect to a server, where you have a nickname, and the server
will send you messages (welcome, notices...) -- notice you can't
connect as the same nickname from different places simultaneously ;

- you can then join (and even create) a room [called a channel] where
you can see the list of members, each with some notion of presence
(away state), and a notion of role (voice, op). It can have a title
and you can get kicked or banned from a room, or invited to one ;

- you send messages to a single user, to a list of users or to a room
and as far as I know the server doesn't send you back your own
messages (so you have to note them yourself!) ;

- I don't think a one-to-one conversation is more than messages with
the same person (nickname, in fact) -- so there's no way to have
various conversations with the same person, and no way to turn a
one-to-one into a many-many one ; and also in a one-to-many I'm not
sure recipients know of each other, so they can't just reply to all.


With MSN (I haven't found decent&recent documentation):

- you connect to a server with an account, and you can connect to it
from several places ; I think you can have a nickname on the server ;
it's also where the contact list is ;

- you can then send one-to-one messages, or join/create rooms
(multiparty) ; I don't think you can have a room-specific nickname and
I don't know if the server sends you your own messages ;

- I don't think a one-to-one conversation is more than messages with
the same person -- so again, no way to have various conversations with
the same person ;

- I don't know if rooms have title, if there is special presence and
   roles.


With Jabber (http://xmpp.org/):

- you connect to a server, and you can connect to it from several places 
; it's
also where the contact list (named roster) is ; the presence exchange is at
the server level ;

- you can send messages one-to-one or join/create a room. One-to-many
exists, but isn't natural (even with XEP-0033) ;

- the interesting thing about one-to-one is that you can either send
the messages in a one-off fashion or with a threading information (see
5.1 in RFC 6121). In this case it's possible to have different
conversations with the same contact, and it's possible to turn a
private conversation into a group conversation, which others can join
(see section 7.9 of XEP-0045 - notice how the client is supposed to
send the history to the room) ;

- a chat room has a title, a list of occupants with their own presence
(you might in fact not even know the "real identity" of the occupants:
the nickname is per-room!) with roles ; it also has a history which
new joiners will receive.


With SIP: here I shall wait for a reply, as I'm definitely not qualified 
to discuss it at length.

I'm not sure I'm 100% right on all of the above: feedback is welcome!


Cheers,

Snark
_______________________________________________
ekiga-devel-list mailing list
ekiga-devel-list gnome org
https://mail.gnome.org/mailman/listinfo/ekiga-devel-list
--
Damien SANDRAS

Ekiga Project
http://www.ekiga.org


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]