Using SIPE / OCS / Microsoft Lync / Skype for Business with bitlbee-libpurple

Bitlbee + libpurple can talk to SIPE, Microsoft's OCS, Lync (on Office 365 as well) and Skype for Business. First, you need a Bitlbee with libpurple support. You need the pidgin-sipe plugin. This is packaged in Debian and Ubuntu; on OS X you'll have to compile it yourself. Then it's easy. For OCS, you add your account like this:

account add sipe EMAIL-ADDRESS,DOMAIN\USERNAME PASSWORD

Pidgin calls the EMAIL-ADDRESS field "Username" and the DOMAIN\USERNAME field "Login." For non-OCS SIPE you might not need the ,DOMAIN\USERNAME part. In case it helps you figure out your usernames, here's a screenshot of the Pidgin account setup page.

See also the official account setup guide

It may also be necessary to escape the slash between DOMAIN and USERNAME. You can confirm if this is necessary by viewing the account settings after adding the account.

account sipe set

Check that username = email,domain\username appears formatted correctly. If the slash is missing, then correct it by escaping the slash.

account sipe set username you@email.com,domain\\login

User Agent

If you get the following error:

sipe - Login error: You have been rejected by the server: You are currently not using the recommended version of the client

You will need to set a proper useragent so that you're able to connect. For example:

account sipe set useragent "UCCAPI/15.0.4771.1000 OC/15.0.4771.1001 (Skype for Business)"

There's a list of possible user agents in the SIPE FAQ

There is a list of useragent strings here but it doesn't seem to always have the latest version. The most reliable way to get the latest is to get it from a working instance of Lync on a Windows box (probably enough to just change the version numbers to what's in About ... Lync).

Look in the UccApi log in %localappdata%\Microsoft\Office\15.0\Lync\Tracing

Other user agents that might be valid for older servers (pick one)

account sipe set useragent "UCCAPI/3.5.6907.0"
account sipe set useragent "CCAPI/4.0.7577.0 OC/4.0.7577.0"
account sipe set useragent "UCCAPI/3.5.6907.0 OC/3.5.6907.0 (Microsoft Office Communicator 2007 R2)"

If these don't work, you'll have to figure out what to use. Good luck (and add findings to this page)

Login error: Incompatible authentication scheme chosen

account sipe set authentication tls-dsk

SSL errors (Read Error) with Debian/Ubuntu 12.04

Add this to /etc/init.d/bitlbee underneath SCRIPTNAME.

export NSS_SSL_CBC_RANDOM_IV=0

Login error: Failed to authenticate to server

Obviously this could really be an issue with (the format of) your username/password, but there's another possible cause. Microsoft seems to have disabled RC4 stream cipher used by TLS-DSK in older SIPE versions (at least 1.18 in Ubuntu 14.04 seems to be too old): http://sourceforge.net/p/sipe/bugs/285/. Try upgrading to a more recent pidgin-sipe version such as 1.20 which utilizes newer ciphers. There are pre-built binaries in http://software.opensuse.org/package/pidgin-sipe in case you don't want to build your own.

Other issues

Read the full SIPE FAQ here:

https://sourceforge.net/p/sipe/faq/

BitlBee Wiki: HowtoSIPE (last edited 2016-10-08 02:26:27 by dx)