Skype-for-Business on Linux

2019-12-16

Sometimes we Linux types are forced into the Micro$oft world. If you have to attend a conference call on Skype-for-Linux (not plain Skype) — we had to run a Windows VM or similar to do it. No longer. Here’s instructions to run Skype-for-Business on Ubuntu 16.04 and 18.04. For other Linux distros I imagine the steps are similar. I hope this helps!


Introduction

Skype-for-business (S4B), formerly called Lync, formerly called Office Communicator, is meeting collaboration software. It’s similar to HPE MyRoom (recommended, free) or Microsoft Teams, both of which run fine on Linux.

But Skype-for-business on Linux never got much love from Microsoft, so you’ll have to do a few things described here to use it on Linux. The below are instructions for two versions of Ubuntu; similar things should work on other distros.  You’ll have most of the S4B functionality, including

  • Chat
  • Audio calls
  • Join conference calls
  • See shared screens
  • Share you screen to others

In the following instructions, most of the packages are used for desktop viewing/sharing. If you need only chat, install just the pidgin and pidgin-sipe packages, then proceed to setup your account.

But for (nearly) full functionality, read on:

Package Install

1) First, it really helps to nuke all related packages. You’ll re-install them in just a bit, getting the right versions:

sudo apt remove freerdp2-x11 gstreamer1.0-nice libfarstream-0.2-5 libfreerdp-client2-2 libfreerdp-server2-2 libfreerdp-shadow-subsystem2-2 libfreerdp-shadow2-2 libfreerdp2-2 libnice10 libwinpr-tools2-2 libwinpr2-2 pidgin pidgin-data pidgin-libnotify pidgin-sipe remmina remmina-common remmina-plugin-rdp remmina-plugin-secret remmina-plugin-vnc 

2) The remmina components have a way of sticking around. And sometimes pidgin. Kill ’em:

sudo killall -9 remmina pidgin

3) Pin the pidgin-sipe package (at 600 or higher) so you don’t get the older one.  Create the file /etc/apt/preferences.d/sipe-collab-600 with these contents:

Package: *
Pin: release o=LP-PPA-sipe-collab
Pin-Priority: 600

4) Add the newer sipe-collab repo:

sudo apt-add-repository ppa:sipe-collab
sudo apt-get update
sudo apt-get upgrade

Note: If you need to use a proxy server to access the Internet, set it via BOTH the http_proxy and https_proxy envvars, and use -E with sudo so they’re passed on to the command.

For example:

export http_proxy=http://your-proxy-server.your-corp.com:8080
export https_proxy=http://your-proxy-server.your-corp.com:8080
sudo -E add-apt-repository ppa:sipe-collab/ppa/
sudo -E apt-get update
sudo -E apt-get upgrade

5) Install this whole collection of packages:

sudo apt-get install freerdp2-x11 gstreamer1.0-nice libfarstream-0.2-5 libfreerdp-client2-2 libfreerdp-server2-2 libfreerdp-shadow-subsystem2-2 libfreerdp-shadow2-2 libfreerdp2-2 libnice10 libwinpr-tools2-2 libwinpr2-2 pidgin pidgin-data pidgin-libnotify pidgin-sipe remmina remmina-common remmina-plugin-rdp remmina-plugin-secret remmina-plugin-vnc 

That should do it. Run pidgin to get things going.

Run It

You should have a menu item for Pidgin, often under

Applications → Internet

but the location varies depending upon the desktop environment you have. You may also run it from the command line. Just enter the command ‘pidgin’.

Hangs/Nothing?

If it just hangs and you don’t see anything, first kill all pidgin instances (killall -9 pidgin), then remove the prior configuration for it, which would be found in the ~/.purple directory. Simply nuke the whole dir:

rm -fr ~/.purple

If you’ve been playing around with this already, it’s a good idea to start clean even if it doesn’t hang.

Pidgin Account Setup

In Pidgin, create an Office Communicator account. If this is the first time, or you nuked the config and are starting clean, it should prompt you to setup an account. Otherwise, go to Accounts –> Manage Accounts and click Add. For protocol choose “Office Communicator”. Then set these options, most of which are defaults:

Basic Tab:
  Username: email-addr
  Login:    DOMAIN\username
  Password: whatever-you-use

Advanced Tab:
  server:port - leave blank
  Connection type - leave auto
  User Agent: UCCAPI/16.0.6965.5308 OC/16.0.6965.2117 
  Authentication scheme - leave at Auto
  All the rest - leave blank or unchecked

Proxy Tab:
  Leave Proxy type on "Use Global Settings"

Voice and Video Tab:
  Leave "use silence suppression" UNCHECKED

Click the Add button at the bottom to save your settings. Pidgin should try to connect to this account automatically; if it does not, make sure that this new account is “enabled” in the Manage Accounts dialog box.

Test Your Account Setup

Exit Pidgin then restart it. It should connect to the corporate server and you’ll see your buddy list. If not, try running Pidgin from the command line — just enter the command “pidgin”. If you want to get overrun with output, you can also use the -d option to enable debugging. But be warned, it’s a lot of output!

FAQ’s

Connect to Server Fails?

I often see that the first connect to the SIPE server fails. Just try again, then it works fine.

Start a Chat with Someone

Find their name in the Buddies list. Right click and select “IM”.

Share your desktop with Someone

Find their name in the Buddies list. Right click and select “Share my Desktop”.

Join a Conference Call

This is easy – you just need the link for the call, which usually is in the invite. But where you paste the link is a bit “hidden”. Find it under

Accounts → (your email addr) → Join Scheduled Conference…

Paste the link into the Meeting Location field then click Join.

Share your desktop to a conference call

In the call window, do Media → Share my Desktop


Inspired by xhaakon’s (Jakub Adam’s) post at https://github.com/tieto/sipe/issues/183

Enjoy!
— Steve