I am near completion of the multi user chat support for the msn protocol, actually I was two weeks ago,
but I was facing some serious problems (euro 2008 ). But its almost finished and now it is time to clarify some details, so we (Yana and me) thought to ask you about it.
The first Problem we faced was a name problem, if you "join" (in msn you cannot join a room, you get joined ) a chat room its stored in a list inside the sip-com, so we need names for the chat rooms. For now we take the switchboard id, cast it to a string, and voil� we have a name, but maybe you have a idea for a name convention for the chat rooms. If you create a group chat by yourself you can choose a name, so there actually no name convention needed, but we want to hear as much concepts, ideas as possible.
The next thing is that in the msn protocol group chats are done by some thing they called switchboards, you can create a switchboard and then invite others to it and do multi user chatting. The Problem is that those switchboards are only temporary, so if all the users go offline the group chat is over, if only you go offline you cant reconnect, only a user who is still in the switchboard can invite you and you are back in. So the problem is when you restart the sip-com you have your old chat rooms in your list, but you can't to anything with them, you cannot reinvite users (the switchboard is gone), the only thing you can do with it is reading the history. We thought about deleting the whole list, every time you restart your sip-com (or every time you go offline?), but please tell us what you think about it.
The last thing I remember right now is when someone invites you to a mutli user chat, and you are in his contact list, the switchboard server just puts you in the switchboard list and you will be forced to received messages from that group chat (without asking). Because you have to be in his contact list and you have to authorize that, its not very dangerous that any user abuses that. In the sip-com architecture we have invitation messages and we can use them, but fields like 'Reason' cant be filled with real entries. So the question is, should we call a "fake" invitation message before joining the chat or just join the chat room. The advantage of the first concept is that you can control on which group chats you take part, the advantage of the second concept is that you dont get a "fake" invitation message, which saves you some time ;-)).
It is a little bit hard for me to describe the problems, so if you have understanding problem please answer and I try to specify them again.
Enjoy your weekend.