Setting up Skype with Bitlbee

The Skype API is deprecated and may have issues, such as losing messages

You should use skypeweb instead.

Bitlbee's Skype plugin requires the official Skype client to be running somewhere, although not necessarily on the same server as bitlbee. This is because Skype's API has not been reverse-engineered for a variety of reasons, so the bitlbee skype plugin use's the client's own API.

Official docs

Installing the plugin

The Skype plugin is included with bitlbee but not activated by default due to being inappropriate for public servers.

If you are installing from source, provide --skype=1 to ./configure. If you are on Debian or Ubuntu, install the bitlbee-plugin-skype package. For other distributions, check with the package maintainers.

Checking the installation

You can check installation was successful by attempting to add a skype account to bitlbee. (Restart bitlbee and reconnect to it if you were already running it.)

   1 18:42 <@Flexo> acc add skype myusername
   2 18:42 <@root> Account successfully added with tag skype
   3 18:42 <@root> You can now use the /OPER command to enter the password

If installation wasn't successful, you will get an unknown protocol error:

   1 18:39 <@Flexo> acc add skype myusername
   2 18:39 <@root> Unknown protocol

Installing Skyped

You will also need skyped on the computer you run Skype on. This is included and installed with the bitlbee skype plugin, but if you plan to run skype on a different computer to bitlbee, you will also need to install it on the skype computer.

skyped is a Python command-line application that requires the Skype4Py python package. This is provided in the python-skype Debian package, or is available from https://github.com/awahlig/skype4py (install with sudo python setup.py install).

You will need to generate an SSL certificate so that traffic between bitlbee and skyped is secure. The skyped manpage explains this in more detail, but the essential commands are:

$ mkdir -p ~/.skyped
$ cd ~/.skyped
$ cp /usr/local/etc/skyped/skyped.conf /usr/local/etc/skyped/skyped.cnf .
# edit ~/.skyped/skyped.conf by following the helpful comments therein (change the username, password hash, and directory paths)
$ openssl req -new -x509 -days 365 -nodes -config skyped.cnf -out skyped.cert.pem -keyout skyped.key.pem

OpenSSL will ask you a few questions about the certificate. You can keep the defaults if you're not sure.

Running skyped

Once skyped is installed, launch it with:

$ skyped
skyped is started on port 2727, pid: 7736

If you don't want skyped to detach and/or want to debug it, run it like this:

$ skyped -n -d

If you have a copy of Skype already running, it will give you the following notification asking you to approve Skype4Py:

skyped-skype.png

Click Yes to this, of course.

If you don't have a copy of Skype running, skyped will launch one. You may like to have Skype log in automatically so that skyped can be launched at startup and still work without you doing anything.

Connecting to skype from bitlbee

Back to your bitlbee session, add the skype account if you haven't already:

   1 18:42 <@Flexo> acc add skype myusername skypedpassword
   2 18:42 <@root> Account successfully added with tag skype

If Skype and skyped are running on a different computer to bitlbee, you will need to change the server setting, which defaults to localhost:

   1 19:08 <@Flexo> acc skype set server localhost
   2 19:08 <@root> server = `localhost'

Now, just account skype on and everything should work!

MSN contacts

To add contacts from MSN to skype, use account add skype live:someonesnickname@hotmail.com (note the "live:" prefix). Note that it seem to work, but not too well-tested.

Or you can also use MSN for those.

Known Issues

BitlBee Wiki: HowtoSkype (last edited 2015-12-04 16:44:00 by dx)