Monday, February 9, 2009

OCS for pidgin on linux

My employer moved from Jabber to Microsoft Office Communications Server (OCS) a few months back, and I had been stuck using a web based client on linux since there was no real support for the protocol that OCS uses (SIPE) over a TLS channel in a Linux IM client.

However the folks working on the pigdin-sipe plugin released a new version that I have it running with my current ubuntu setup at work. I am posting this here in the hope that someone will find it useful.

Caveats:

  1. You may not have your presence set initially, and you may need to either sign in with the web client (Communicator Web Access) or on a windows system.

  2. Some of my co-workers have reported seeing a message that I am on a device that can't "recieve instant messages". I am not sure why this might be.




Process:
  1. install the basic required packages:

    • build-essential
    • automake
    • pkg-config
    • libglib2.0-dev
    • libgtk2.0-dev
    • pidgin-dev
    • libpurple-dev
    • libtool
    • intltool
    • comerr-dev

  2. Download the latest source from the SIPE project on sourceforge. As of this article that was pidgin-sipe-1.3.3.tar.bz2.
  3. Unpack the bzip2 archive and build the package with the following commands:
    • tar xjf pidgin-sipe-1.3.3.tar.bz2
    • cd pidgin-sipe-1.3.3
    • ./autogen.sh
    • ./configure --prefix=/usr
    • make
    • sudo make install


  4. Run pidgin and add a new account with the protocol "Microsoft LCS/OCS"
  5. Set the username to your email address and enter your windows domain password.
  6. Under the advanced tab, set the conenction type to TLS since Auto doesn't seem to work at the moment.
  7. Also in the advanced tab, set the Auth user and Auth domain to your windows domain credentials.
  8. Once you save this, you may be prompted to accept the certificate for your server.
  9. Then you should have your contacts list appear. People on your list may be prompted to allow you to see their presence again.

7 comments:

Josh Wisman said...

Very useful thanks

kcb said...

What version of ubuntu did you build this on? It built for me in Hardy but after installing I can see that pidgin is getting the following error:

(18:24:03) plugins: probing /usr/lib/pidgin/libsipe.so
(18:24:03) plugins: /usr/lib/pidgin/libsipe.so is not loadable: undefined symbol: purple_get_host_name
(18:24:03) pidgin-sipe: bindtextdomain = /usr/share/locale(18:24:03) pidgin-sipe: bind_textdomain_codeset = UTF-8

Logan Browne said...

I built this on Hardy without issues, but something may have changed upstream since my initial install.

Logan Browne said...

This plugin works wonderfully so far. My only outstanding issue is that people often see a message about my being "signed in to a device that cannot receive instant messages"

kcb said...

Update: I did get v1.3.4 to work in Hardy (but not 1.3.3). However I did have to make 1 small code change to /src/sipe.c to make it build. It seems to work fine for me, but I have no idea what I may have broken. The change is:

kc@mybox:/tmp/pidgin-sipe-1.3.4$ diff /tmp/sipe.c.orig src/sipe.c
3769c3769
< PURPLE_CONNECTION_NO_FONTSIZE |
PURPLE_CONNECTION_NO_URLDESC | PURPLE_CONNECTION_ALLOW_CUSTOM_SMILEY;
---
> PURPLE_CONNECTION_NO_FONTSIZE |
PURPLE_CONNECTION_NO_URLDESC;

Colin said...

This works great, but for some reason, presence doesn't get out to OCS. Everyone on OCS sees me as offline.

Dolphin said...

Unfortunatelly, the same for me. All native OCS clients sees me as offline =(