Skip to content

Pidgin integration with Microsoft Skype for Business (formerly Lync): Voice/Video


Note : this is work in progress, while most features work correctly, some problems and/or application crashes may be expected.

Please make sure to read known problems before reporting an issue.


Pidgin integration with Microsoft Skype for Business (formerly Lync) for Instant Messaging / Voice

CERN uses Microsoft Lync Server as the base of instant messaging services. While this platform is well integrated with Microsoft Windows clients and with Apple Mac OS X ones, integration was lacking for Linux clients.

This documentation outlines the setup process allowing Linux clients to benefit from integration with Microsoft Skype for Business (Lync) Instant Messaging / Audio Calling / File Sharing / Video Calling and Desktop Sharing using Kerberos authentication.


Software installation

As root on your CERN CentOS 7 system run:
# yum install pidginvv-release

(if you use upstream CentOS 7, not CERN CentOS 7 save this repository definition file as /etc/yum.repos.d/pidginvv.repo and enable EPEL repository: # yum install epel-release)

then:

# yum install pidginvv
Above commands will install a version of pidgin internet messenger built with voice and video support on your system (including all needed dependencies from system and third-party repository - EPEL).

Configuration

Start pidgin Menu Applications -> Internet -> Pidgin Internet Messenger (Voice/Video) or /usr/bin/pidginvv
Configure your Office Communicator account following this documentation.

Using VV (Voice/Video) features

Skype for Business (Lync) calls: Right click on the contact (buddy) name and select from menu:
  • Audio Call
  • Audio/Video Call
  • Send File
  • Share my desktop
Telephone calls: click on Accounts menu and select:
  • FirstName Name (Office Communicator)
  • then click on Call a phone number
  • and type in phone number (with same prefix as you would do on a standard CERN phone).

Test Matrix

We have been able to perform initial tests of following features:
  PidginVV on Linux Skype4B Mac OSX Skype4B Windows Phone Skype4B Mobile
PidginVV initiating call
  • Audio:+
  • Video:+
  • File:+
  • Desktop:+
  • Conf:?
  • Audio:+
  • Video:?
  • File:+
  • Desktop:+
  • Conf:?
  • Audio:+
  • Video:+
  • File:+
  • Desktop:+
  • Conf:+
  • Audio:+
  • Audio:+
PidginVV receiving call
  • Audio:+
  • Video:+
  • File:+
  • Desktop:+
  • Conf:?
  • Audio:+
  • Video:?
  • File:+
  • Desktop:+
  • Conf:?
  • Audio:+
  • Video:+
  • File:+
  • Desktop:+
  • Conf:+
  • Audio:+
  • Audio:+

Video: +/- - video sent from linux is delayed comparing to audio by 3-5 seconds. (due to USB headset and sound reprocessing, works OK on analog one)

Desktop: +/- - desktop sharing performance is not very good. (resolutions 1014x768 ~ 1600x1200 work OK, above that reprocessing of image is too slow)

Conf: +/- - desktop sharing performance is not very good. (an URL of form https://meet.cern.ch/firstname.surname/XXXXXX needs to be provided)

? - not tested.


Known problems

Audio problems

Initial test show that USB headsets do not work very well on CentOS7 for pidgin: please use analog microphone/headphones for tests.

Problem seems to be mostly due to this bug: rtkit-daemon[1141]: Failed to make ourselves RT: Operation not permitted (check in /var/log/messages) where proposed solution is this: Please turn off CONFIG_RT_GROUP_SCHED in Fedora kernels .. but currently it is not implemented in CentOS 7 kernels.

If you want to try USB headsets/speakerphones please check configuration/workarounds for CERN stores provided hardware.

Note: for best results with USB headsets/speakerphones please configure these as Duplex analog audio in your audio mixer and avoid Digital audio configurations.

No audio notifications for events

This feature is not implemented yet.

Server connection problems

While connecting a message "user.name@cern.ch disconnected - Read Error" is shown after long timeout.

Workaround: disable ipv6 on your system:

# /usr/sbin/sysctl -w net.ipv6.conf.all.disable_ipv6=1
an retry.

File Transfer / Desktop Sharing do not work

While trying to send/receive files or share desktop between Linux clients (Linux to/from Windows/Mac is not affected). transfers hang or timeout.

Workaround: open a range of high-numbered port range in your local system firewall:

# firewall-cmd --zone=public --add-port=50000-59999/udp --permanent
# firewall-cmd --zone=public --add-port=50000-59999/tcp --permanent
# firewall-cmd --reload
and retry.

Authentication problem from outside CERN network

Kerberos authentication to Lync servers is supported on internal network only, please change to password authentication.

Audio/Video do not work from outside CERN network

If you connect from public network same port ranges (50000-59999) as for Desktop Sharing / File Transfer must be opened in your system firewall.

If you connect from a home network, your router must have UPnP (Universal Plug and Play) service enabled and your local system firewall must be opened for uPnP traffic. CentOS firewalld assumes that when on a non-routable network (typical home NAT network setup) your system is in 'home' firewall zone, you can check this running:

# firewall-cmd --get-active-zones
home
  interfaces: XXXX
If this is the case you should allow all traffic from yor home router to your system by running:
# firewall-cmd --zone=home  --add-rich-rule='rule family="ipv4" source address="X.X.X.X" accept' --permanent
# firewall-cmd --reload
where X.X.X.X is your home router address (usually: 192.168.1.1/192.168.0.1).

Audio / Video setup

Audio / Video setup is not fully functional in pidginvv: therefore default audio input and output sources must be selected using user audio preferences before starting pidginvv.

Optionally, if needed: enable Voice/Video Settings plugin in Tools -> Plugins submenu:

Select Tools -> Voice/Video settings -> Input and Output Settings

  • In Audio tab select:
    • Output Plugin: PulseAudio
    • Input Plugin: PulseAudio
  • In Video tab select:
    • Output Plugin X Window system (Default, OpenGL or X Window system (XV) may work too depending on graphic drivers.)
    • Input Plugin Video4Linux2 (or Default)

Note: It is NOT possible to select Device other than Default in above settings.

Select Tools -> Voice/Video settings -> Microphone test and adjust Volume/Silence threshold.

Mute / Hold buttons in call interface

Both buttons show wrong state whit mouse pointer over. Hold does not work at present.

Webcam Error

Sometimes after a previous attempt of a Video Call, pidgin reports webcam error.

Workaround: may need to restart the application. Alternatively: use another webcam application (cheese) or command line video4linux tools (v4l2-ctl) to reset the webcam, to install these run:

# yum install cheese v4l-utils

Microphone Error

Sometimes after a previous attempt of Video or Audio call, pidginvv reports microphone error.

Wokraround: you may need to restart the application. Alternatively: try toggling input sources in audio mixer application, this sometimes helps ...

Note: Your webcam or microphone may be used by other application too: VidyoDesktop, Ekiga, .. etc... which makes these devices not accessible to pidgin.

Other problems

Please check Tieto sipe issue tracker for other known problems / bugs.

Additional software available

Pidgin with Voice/Video enabled depends on additional applications and libraries which have been compiled and can also be used independently:
  • remmina (updated remote desktop / multi protocol application)
    # /usr/bin/scl enable pidginvv remmina
    (you may want to install additional remmina plugins too:
     # yum install pidginvv-remmina-plugins-gnome pidginvv-remmina-plugins-spice pidginvv-remmina-plugins-vnc pidginvv-remmina-plugins-xdmcp
    ) (make sure your default system remmina is not running at the same time)
  • freerdp (updated remote desktop RDP client )
    # /usr/bin/scl enable pidginvv xfreerdp
  • other software (audio/video encoders/decoders, codecs and gstreamer1 framework .. etc). To see available packages run:
     # yum search pidginvv 
    . In order to use these you can follow this example:
    # yum install pidginvv-x264
    # scl enable pidginvv bash
    # x264 --help
    
  • Additional pidgin plugins:
    • Mattermost Chat:
      # yum install pidginvv-pidgin-mattermost
      (see documentation for configuration information)
    • Facebook Chat:
      # yum install pidginvv-pidgin-facebook
      (instant messaging only, no Workplace Chat)
    • Skype Chat:
      # yum install pidginvv-pidgin-skypeweb
      (instant messaging only)
    • Google Hangouts:
      # yum install pidginvv-pidgin-hangouts
      (instant messaging only, initiates outgoing voice/video call and connects but no sound/image, cannot receive calls)

Reporting problems

Please report problems to linux support @ CERN.