Menu

#39 Add support for OCS2007R2 Group Chat

closed-fixed
nobody
SIPE Core (15)
5
2010-10-04
2010-09-12
mdbateman
No

Please add support for public conference rooms similar to that provided by the Microsoft Group Chat client. Attached is a logfile from that client showing communication with the OCS server. In that log, the conference room name is \"ECO\".

Related

Feature Requests: #59

Discussion

  • Stefan Becker

    Stefan Becker - 2010-09-13

    Thanks for the log, it is at least a starting point to see what is going on.

    But unfortunately it only shows the high-level XCCOS messages. Would it be possible to also get the log from the lower level UCCP, which shows the full SIP messages? It should be in the same directory.

    So far I have identified the following references:

    Group Chat Key Protocols <http://technet.microsoft.com/en-us/library/ee323484%28office.13%29.aspx>

    Group Chat Call Flows <http://technet.microsoft.com/en-us/library/ee323524%28office.13%29.aspx>

    Office Communications Server 2007 R2 Technical Reference Guide <http://go.microsoft.com/fwlink/?LinkID=159649>

    Unfortunately I have not been able to find a specification for the XCCOS protocol messages.

     
  • mdbateman

    mdbateman - 2010-09-14

    I was able to turn on more debugging and logging and got a trace file. I'm not sure if this is what you need, but take a look and let me know if you need something else.

     
  • Stefan Becker

    Stefan Becker - 2010-09-14

    That is exactly the information I was looking for, thanks. Can you please generate both log files from the SAME session and attach them here? You can delete the old ones then.

    It would be nice if your session could show also these actions if you can perform them with your client:
    - write/receive message in ECO chat room
    - show list of chat rooms
    - search for a chat room
    - add an existing chat room to your client
    - remove an existing chat room from your client
    - create a new chat room with your client
    - delete the chat room with your client

    Please write down the time (hh:mm:ss) when you initiated the action in your client, so that we can correlate the action with the log file.

     
  • Stefan Becker

    Stefan Becker - 2010-09-14
    • labels: --> SIPE Core
    • summary: Add support for public conferences --> Add support for OCS2007R2 Group Chat
     
  • Stefan Becker

    Stefan Becker - 2010-09-14

    This reflects the current understanding: it is a separate feature/functionality of the OCS system with own protocol.

     
  • mdbateman

    mdbateman - 2010-09-14

    Client Logfile (zipped)

     
  • mdbateman

    mdbateman - 2010-09-14

    Client UCC tracefile (zipped)

     
  • mdbateman

    mdbateman - 2010-09-14

    New files uploaded.
    07:26 - Open client / Auto Join ECO chat room
    07:27 - write/receive message in ECO chat room
    07:28 - show list of chat rooms (empty search)
    07:29 - search for a chat room (name only)
    07:29 - search for a chat room (name/topic/description only)
    07:30 - add an existing chat room to your client (failed permissions)
    07:32 - remove an existing chat room from your client (ECO)
    07:32 - add an existing chat room to your client (ECO)
    07:33 - create a new chat room with your client (tried but do not have permissions)
    07:34 - Close client

     
  • Stefan Becker

    Stefan Becker - 2010-09-14

    This is great, thanks!

    I've been talking to our IT guys, and lo and behold, they actually have a group chat server running in their test environment. I have started on some basic code, which seems to work despite that we don't have a spec for XCCOS. Your initial log files certainly helped there...

    The XCCOS specification seems to be a complicated story. Let's see what turns up, when I keep asking :-P

     
  • Stefan Becker

    Stefan Becker - 2010-09-17

    Thanks again for your detailed log. It has been invaluable while writing the code. I have finished an initial implementation of the Group Chat feature in my private repo. I'll push it to the public repo after the 1.11.0 release is out.

    As I still don't have access to the XCCOS protocol specification, many parts of the code are based on "educated guess" and your log file. I hope the implementation is not too broken, though. It seems to work with our test server.

    Biggest problem right now is that I can't send any messages into chat rooms. I always get an error "503 Service unavailable". I don't know yet if this is a problem with the test server or a XCCOS message/protocol coding error.

     
  • Stefan Becker

    Stefan Becker - 2010-09-21

    Patch to implement Group Chat feature against current git

     
  • Stefan Becker

    Stefan Becker - 2010-09-21

    I've attached a patch that implements the feature for people who want to test it and aren't afraid to use a compiler:

    1) get the latest git code, e.g.

    $ wget http://repo.or.cz/w/siplcs.git/snapshot/05a015a1a927a8db3448ee880d58830f4b412ed5.tar.gz

    2) download the patch

    3) prepare the source

    $ tar xf tar xf siplcs-05a015a1a927a8db3448ee880d58830f4b412ed5.tar.gz
    $ cd siplcs
    $ patch </path/to/my/download/dir/siplcs-groupchat.patch -p1

    4) do a normal git build, e.g. with git_build.sh

    5) install the generated libsipe.so where Pidgin can find it

    6) start Pidgin, select "Join chat...", select the OCS account and press "Room List" -> voilá :-)

    Any feedback about problems are welcome. Please, *always* provide a pidgin debug log file!

     
  • mdbateman

    mdbateman - 2010-09-22

    I don't have access to a compiler, but if you have time and want to build a .dll for Win7, I would be happy to test it.

     
  • Stefan Becker

    Stefan Becker - 2010-09-22

    It currently looks like that 1.10.0 was the last release with pre-compiled Windows binaries. At least until someone else steps forward to pick up the job. Volunteers are welcome.

    Otherwise you'll have to switch to a Linux (virtual) machine if you want to continue using pidgin-sipe.

     
  • Stefan Becker

    Stefan Becker - 2010-10-04

    Initial implementation pushed to repo (git commit c1e71af)

     
  • Stefan Becker

    Stefan Becker - 2010-10-04
    • status: open --> closed-fixed
     

Log in to post a comment.