Lync on Linux

Microsoft Lync on Linux

Update: This post still gets a lot of search traffic hits, but is now over a year old, and I no longer have a need to use lync, so haven't needed to keep this working.

I believe that the ubuntu repos now contain new enough versions of SIPE that the deb mentioned here shouldn't be needed anymore, but that the rest of the instructions should still be valid.


Update 2: I need to use LYNC again. Pidgin from the default ubuntu repos does indeed now appear to work just fine with a customer user agent. In addition, I've also had some success with "WYNC" which works pretty well but has a few minor issues of it's own.


Recently at work we have started using Lync internally. Whilst this is great for the Windows and Mac users among us, not so much for those of us running on linux.

However, it turns out that it is possible to get basic lync support working quite easily. I can see people, talk to people, people can talk to me – I can send files to people, but people can't send file to me. I've not tried any video/voice stuff but I suspect it doesn't work.

It’s done using "sipe" – basically an open source implementation of the Extended SIP/SIMPLE protocol lync uses for chat.

The basic steps on Ubuntu are:

  • Install the latest pidgin from pidgin devs ppa apt-get install pidgin pidgin-sipe
  • Download sipe
  • Compile it
  • Connect to lync.

The compiling step is required because we use Office365 for lync which needs the latest version os SIPE for which a deb does not yet appear to exist. However, I have uploaded my compiled deb which can be found below.

Instructions for Ubuntu (using a precompiled deb I've uploaded):

sudo apt-add-repository ppa:pidgin-developers/ppa
sudo apt-get update
sudo apt-get install pidgin
wget http://www.myfileservice.net/pidgin-sipe_1.13.1-2_i386.deb
sudo dpkg -i pidgin-sipe_1.13.1-2_i386.deb


Once this is done you can then open pidgin, and add an "Office Communicator" account, using the following settings:

First tab (Basic)
Login: email address
Username: email address
Password: password

Second tab (Advanced)
Server/port: blank
Connection Type: Auto
User Agent: UCCAPI/4.0.7577.314 OC/4.0.7577.314
Auth Scheme: TLS-DSK

Untick Use single sign on, leave everything below it blank

Ignore the other 2 tabs

Done. Connect, see buddies :)

Amusingly, at home, I’ve actually had more success on linux than windows! On my windows machine, opening LyncSetup.exe seems to just do nothing at all, the process appears to be running, but no setup window appears.

Issues encountered:

  • The version of pidgin-sipe currently in Ubuntu repos is too old to work with Office 365 (needs 1.13.0, hence compiling myself)
  • Version of pidgin in ubuntu was old, I installed a new version to be sure
  • A colleague of mine seems to have had no success with these steps - pidgin seems to crash immediately after trying to connect

The pidgin-sipe deb above also builds the required "telepathy" binaries – so I’m gonna have a go at getting it working with KDE’s native messenging client rather than pidgin, but for now for IM at least, pidgin is quite useable. (As I no longer need to use Lync, I never did get round to trying this)

Leave a Reply

Your email address will not be published.

6 comments

  1. Bill Hayden says:

    I was so pleased to find your post. Unfortunately, even after running all the steps I am still unable to connect. I get the same “SSL Connection Failed” message I’ve always gotten.

    Also, you have a typo in your command to install the deb. The deb is a different version from the one you download in the previous step.

  2. Dataforce says:

    Thanks for pointing out the mistake – fixed.

    Regarding the error, a colleague had that and the solution we found was to apt-get purge pidgin-sipe then install the deb again. The only other thing I can think of is that the auth type was set wrong – TLS-DSK is the only one that works.

  3. JJ says:

    @Bill Hayden

    Did you manage to find a workaround or fix to the SSL problem?
    We’ve been facing that at work. I even made the mistake of finally updating my ubuntu box (over an year since I had last done it). Now I am stuck with Firefox (puke) 13, and pidgin still doesn’t connect to office365 chat :(

  4. Thomas Steenholdt says:

    This is a known Lync SSL issue. Try starting pidgin like this from a terminal:

    $ NSS_SSL_CBC_RANDOM_IV=0 pidgin

    Googl’ing for NSS_SSL_CBC_RANDOM_IV=0 pidgin should yield additional details on the topic…

    Hope it helps

  5. I tried these instructions, and on Ubuntu 12.04 they don’t work, but
    http://itswapshop.com/content/add-lyncoffice-communicator-account-pidginubuntu

    suggested

    sudo apt-get install pidgin pidgin-sipe

    and that worked

  6. Simon Bazley says:

    Worth adding that I use Pidgin/Sipe on our large internal network, and had some problems setting it up. I eventually deduced that we were using expired/untrusted keys internally, and whilst on windows it would prompt me to allow it to continue, on linux it would more commonly just die. So first following the above steps, to configure the Account.

    If you get a prompt: SSL error is what I got when the username/login combination were wrong.

    If you get Certificate error, then it means I’d successfully connected
    If the it prompts you to accept the bad certificate, continue, and eventually it’ll start, but with no text in the contacts list
    In that case ps -ax |grep pidgin and kill -KILL for the first 2 or 3 pidgin processes
    Now start pidgin again, and it should be fine.
    If the Certificate warns you of failure, but doesn’t allow you to accept it, you need to fake the certificate cache.

    Find a machine with a working set of certificates, using the same lync service as above (they’ll have cached certificates, which your machine is complaining about)
    On Windows they’re at C:Users\AppDataRoaming.purplecertificatesx509tls_peers
    On Linux they’re at /home//.purple/certificates/x509/tls_peers

    Copy the contents of the tls_peers from the working machine to the not working one, and try again
    Now it should complain, but start anyway, and present a list of contacts