[Freeswitch-users] mod_skypopen, new HOWTO
Giovanni Maruzzelli
gmaruzz at gmail.com
Fri Aug 22 01:58:03 MSD 2014
Many users have discovered with dismay they can no more operate the old
Skype client used by mod_skypopen.
Starting first week of August 2014, Microsoft stopped operating the
authorization
servers for Linux Skype clients prior to version 4.3.37.
Skype 4.3.37 is the only Skype client version that works.
Those new Linux Skype clients require Pulseaudio.
New Skype clients and Portaudio use much more CPU on your machine.
With new Skype client, MAX 6 INSTANCES OF THE SAME SKYPEUSERNAME (see below)
Follow this page and use the automatic installer, you will be all set.
Please read it all.
===========================================================================
SHORT BLUEPRINT: STEPS NEEDED TO USE SKYPOPEN
- Compile and install FreeSWITCH
- Compile and install mod_skypopen
- Install (on Linux) Xvfb and Pulseaudio
- Configure Pulseaudio for low cpu usage
- Download and install Skype client (on Linux, this is done by the
*INTERACTIVE
INSTALLER*)
- Configure Skype client (on Linux, this is done by the *INTERACTIVE
INSTALLER*)
- Install and edit mod_skypopen config file (on Linux, this is done by
the *INTERACTIVE INSTALLER*)
- Create a script to start the Skype clients with needed parameters (on
Linux, this is done by the *INTERACTIVE INSTALLER*)
- Start Skype clients using the script
- Start FreeSWITCH
- Load mod_skypopen in FreeSWITCH
- Profit!
*NEW Interactive INSTALLER for LINUX*: using the provided script, you'll
end up with a complete and configured, ready for calls, installation of
Skypopen on FreeSWITCH!!! (see below)
Which Skype Client to use on Linux
Use the *dynamic* build of the *stable* Skype client (4.3.37), is the only
one that works
(the *interactive installer automatically download and install the correct
Skype client*, see below).
*Don't* use the package for your distro
Supported Platforms and Distros
Skypopen runs well on Linux and Windows. Does *not work on Mac OSX*.
Most used Linux distro are:
- Debian 7 64 bit server (wheezy)
- CentOS 6.5.x 64 bit server(RHEL6)
- Ubuntu SERVER LTS 64 bit (Trusty - 14.04)
Linux Which packages are required to build mod_skypopen on Linux
You will need the libraries needed by Skype client and by the fake X
server.
*REALLY, you need all the packages below!*
You can cut and paste the follow:
Debian 7.x required packages
In addition to the packages required to build and run FreeSWITCH, you will
need the following:
# Dependencies for building mod_skypopen:
apt-get install \
libx11-dev libx11-dev libxau-dev libxcb1-dev libxdmcp-dev \
x11proto-core-dev x11proto-input-dev x11proto-kb-dev xtrans-dev
# Infrastructure needed to run skype client:
apt-get install \
xvfb pulseaudio
# Dependencies of skype client:
# Enable i386 libraries installing
dpkg --add-architecture i386
apt-get update
# Install libraries
apt-get install \
fontconfig fontconfig-config gcc-4.7-base:i386 libasound2:i386 \
libasound2-plugins:i386 libasyncns0:i386 libattr1:i386 libaudio2:i386 \
libavahi-client3:i386 libavahi-common-data:i386 libavahi-common3:i386 \
libavcodec53:i386 libavutil51:i386 libc6:i386 libc6-i686:i386 libcap2:i386 \
libcomerr2:i386 libcups2:i386 libdbus-1-3:i386 libdirac-encoder0:i386 \
libexpat1:i386 libffi5:i386 libflac8:i386 libfontconfig1 libfontconfig1:i386 \
libfreetype6:i386 libgcc1:i386 libgcrypt11:i386 libglib2.0-0:i386 \
libgnutls26:i386 libgpg-error0:i386 libgsm1:i386 libgssapi-krb5-2:i386 \
libgstreamer-plugins-base0.10-0:i386 libgstreamer0.10-0:i386 libice6:i386 \
libjack-jackd2-0:i386 libjbig0:i386 libjpeg8:i386 libjson0:i386 \
libk5crypto3:i386 libkeyutils1:i386 libkrb5-3:i386 libkrb5support0:i386 \
liblcms1:i386 liblzma5:i386 libmng1:i386 libmp3lame0:i386 libogg0:i386 \
libopenjpeg2:i386 liborc-0.4-0:i386 libp11-kit0:i386 libpcre3:i386 \
libpng12-0:i386 libpulse0:i386 libqt4-dbus:i386 libqt4-network:i386 \
libqt4-xml libqt4-xml:i386 libqtcore4 libqtcore4:i386 libqtdbus4 \
libqtdbus4:i386 libqtgui4:i386 libqtwebkit4:i386 libsamplerate0:i386 \
libschroedinger-1.0-0:i386 libselinux1:i386 libsm6:i386 libsndfile1:i386 \
libspeex1:i386 libspeexdsp1:i386 libsqlite3-0:i386 libssl1.0.0:i386 \
libstdc++6:i386 libtasn1-3:i386 libtheora0:i386 libtiff4:i386 libuuid1:i386 \
libva1:i386 libvorbis0a:i386 libvorbisenc2:i386 libvpx1:i386 libwrap0:i386 \
libx11-6:i386 libx11-xcb1:i386 libx264-123:i386 libxau6:i386 libxcb1:i386 \
libxdmcp6:i386 libxext6:i386 libxi6:i386 libxml2:i386 libxrender1:i386 \
libxss1:i386 libxt6:i386 libxtst6:i386 libxv1:i386 libxvidcore4:i386 qdbus \
ttf-dejavu-core uuid-runtime zlib1g:i386
Ubuntu 14.04.x required packages
In addition to the packages required to build and run FreeSWITCH, you will
need the following:
# Dependencies for building mod_skypopen:
apt-get install \
libx11-dev libx11-dev libxau-dev libxcb1-dev libxdmcp-dev \
x11proto-core-dev x11proto-input-dev x11proto-kb-dev xtrans-dev
# Infrastructure needed to run skype client:
apt-get install \
xvfb pulseaudio
# Dependencies of skype client:
apt-get install \
fontconfig fontconfig-config gcc-4.7-base:i386 libasound2:i386 \
libasound2-plugins:i386 libasyncns0:i386 libattr1:i386 libaudio2:i386 \
libavahi-client3:i386 libavahi-common-data:i386 libavahi-common3:i386 \
libavcodec53:i386 libavutil51:i386 libc6:i386 libc6-i686:i386 libcap2:i386 \
libcomerr2:i386 libcups2:i386 libdbus-1-3:i386 libdirac-encoder0:i386 \
libexpat1:i386 libffi5:i386 libflac8:i386 libfontconfig1 libfontconfig1:i386 \
libfreetype6:i386 libgcc1:i386 libgcrypt11:i386 libglib2.0-0:i386 \
libgnutls26:i386 libgpg-error0:i386 libgsm1:i386 libgssapi-krb5-2:i386 \
libgstreamer-plugins-base0.10-0:i386 libgstreamer0.10-0:i386 libice6:i386 \
libjack-jackd2-0:i386 libjbig0:i386 libjpeg8:i386 libjson0:i386 \
libk5crypto3:i386 libkeyutils1:i386 libkrb5-3:i386 libkrb5support0:i386 \
liblcms1:i386 liblzma5:i386 libmng1:i386 libmp3lame0:i386 libogg0:i386 \
libopenjpeg2:i386 liborc-0.4-0:i386 libp11-kit0:i386 libpcre3:i386 \
libpng12-0:i386 libpulse0:i386 libqt4-dbus:i386 libqt4-network:i386 \
libqt4-xml libqt4-xml:i386 libqtcore4 libqtcore4:i386 libqtdbus4 \
libqtdbus4:i386 libqtgui4:i386 libqtwebkit4:i386 libsamplerate0:i386 \
libschroedinger-1.0-0:i386 libselinux1:i386 libsm6:i386 libsndfile1:i386 \
libspeex1:i386 libspeexdsp1:i386 libsqlite3-0:i386 libssl1.0.0:i386 \
libstdc++6:i386 libtasn1-3:i386 libtheora0:i386 libtiff4:i386 libuuid1:i386 \
libva1:i386 libvorbis0a:i386 libvorbisenc2:i386 libvpx1:i386 libwrap0:i386 \
libx11-6:i386 libx11-xcb1:i386 libx264-123:i386 libxau6:i386 libxcb1:i386 \
libxdmcp6:i386 libxext6:i386 libxi6:i386 libxml2:i386 libxrender1:i386 \
libxss1:i386 libxt6:i386 libxtst6:i386 libxv1:i386 libxvidcore4:i386 qdbus \
ttf-dejavu-core uuid-runtime zlib1g:i386
CentOS 6.5.x required packages
In addition to the packages required to build and run FreeSWITCH, you will
need the following:
# Dependencies for building mod_skypopen:
yum install \
libx11-devel
# Infrastructure needed to run skype client:
yum install \
pulseaudio Xvfb xorg-x11-fonts* xz pulseaudio-utils
# Dependencies of skype client:
# Enable libraries repo
yum localinstall
http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
# Install libraries
yum install \
qt-x11.i686 qtwebkit.i686 glibc.i686 libgcc.i686 libstdc++.i686 libXv.i686 \
libX11.i686 libXext.i686 libXScrnSaver.i686 libcanberra-gtk2.i686 \
gtk2-engines.i686 PackageKit-gtk-module.i686
Build procedure (all Linuxes) for FS and mod_skypopen
Note you must install the *hd sounds and music* packages, that includes
both 8khz and 16khz (skype works at 16 khz native), eg: from FreeSWITCH
source directory: "make hd-sounds-install && make hd-moh-install"
*After you finished to compile FreeSWITCH, in FreeSWITCH source directory
edit modules.conf and uncomment the mod_skypopen line*. Then, "make
install" again from the FreeSWITCH root directory (this will compile and
install just the mod_skypopen module).
make install #yes, again, this time will add mod_skypopen
Pulseaudio Configuration Debian 7
Configuration files:
edit /etc/default/pulseaudio
PULSEAUDIO_SYSTEM_START=1
edit /etc/pulse/system.pa # delete or comment out all file contents,
and add at the end:
load-module module-null-sink
load-module module-native-protocol-unix
edit /etc/init.d/pulseaudio
# delete --high-priority
edit /etc/pulse/daemon.conf
# add at the end of the file:
daemonize = yes
system-instance = yes
resample-method = trivial
flat-volumes = yes
default-sample-rate = 48000
default-sample-channels = 1
default-fragment-size-msec = 20
Add the user running the Skype clients to pulse-access group
adduser root pulse-access
Ubuntu 14.04
Configuration files:
edit /etc/init/pulseaudio.conf
# uncomment "start on ..."
edit /etc/pulse/system.pa # delete or comment out all file contents,
and add at the end:
load-module module-null-sink
load-module module-native-protocol-unix
edit /etc/init.d/pulseaudio
# delete --high-priority
edit /etc/pulse/daemon.conf
# add at the end of the file:
daemonize = yes
system-instance = yes
resample-method = trivial
flat-volumes = yes
default-sample-rate = 48000
default-sample-channels = 1
default-fragment-size-msec = 20
Add the user running the Skype clients to pulse-access group
adduser root pulse-access
CentOS 6.5
Configuration files:
edit /etc/init/pulseaudio.conf
# uncomment "start on ..."
edit /etc/pulse/system.pa # delete or comment out all file contents,
and add at the end:
load-module module-null-sink
load-module module-native-protocol-unix
edit /etc/pulse/daemon.conf
# add at the end of the file:
daemonize = yes
system-instance = yes
resample-method = trivial
flat-volumes = yes
default-sample-rate = 48000
default-sample-channels = 1
default-fragment-size-msec = 20
Add the user running the Skype clients to pulse-access group
usermod -G pulse-access -a root
Disable SELinux
edit /etc/sysconfig/selinux # disabled!
Start Pulseaudio, there is no /etc/init.d/pulseaudio, so you must start it
"by hand" (eg: from /etc/rc.local):
/usr/bin/pulseaudio --system=true --daemonize=true --log-level=info
--log-target=syslog
Interactive Skype Client INSTALLER and CONFIGURATOR
Go to the "install" subdir of mod_skypopen sources, then execute the "
install.pl" script.
cd /usr/src/freeswitch/src/mod/endpoints/mod_skypopen/install
./install.pl
It will ask you questions and will let you review all the values you
entered before to do any real action.
Then it will download and install (where you told it) the correct Skype
client, and will create and install (where and how you told it) all the
needed configurations and startup scripts.
You'll end up with a complete and configured installation of mod_skypopen
for FreeSWITCH, ready for calls.
>From 0 to Skype calls in 30 seconds !!!
Skype 4.3.37 is the only Skype client version that works
Starting first week of August 2014, Microsoft stopped operating the
authorization servers for Skype clients prior to version 4.3.37. They
require Pulseaudio. Following this page and using the automatic installer
you will be all set, no problem.
How to start the Skype clients, then start FreeSWITCH and load
mod_skypopen on Linux
First you start the Skype clients with the script created by the
interactive configurator, then you start FreeSWITCH, and load mod_skypopen
in it.
sh /usr/local/freeswitch/skypopen/skype-clients-startup-dir/start_skype_clients.sh
/usr/local/freeswitch/bin/freeswitch
load mod_skypopen
Yay!
Problems in starting skype clients ?
Check you disabled both SELinux (on CentOS) or AppArmor (on Ubuntu)
Multiple concurrent incoming calls to the same Skype username
*Solutions based on "transfer" the call to another Skype username do not
work anymore with new Skype client*
Running multiple instances (MAX 6) of the same Skype username on Linux,
for BOTH incoming and outbound calls
*The new Skype client limits the concurrent instances of the same username
to 6*
*MAX 6 INSTANCES PER SKYPENAME* (you can have many skypenames, each one
with a max of 6 concurring instances, eg: myskypenameA is used by 6
concurrent skype clients, myskypenameB is used by 6 concurrent skype
clients, myskypenameC is used by 6 concurrent skype clients, total 36
concurrent instances on your machine)
On Linux, you can run multiple instances of the same Skype username (eg:
multiple Skype clients that register with the Skype networks as the same
username, eg: 6 instances of the username "Bob"). On Windows, is not
possible.
Please use the *INTERACTIVE INSTALLER*, it will setup all (download and
install the correct Skype client, script to start the Skype clients, Skype
client configs, skypopen.conf.xml config file).
The trick is to launch the client instances with separate Xservers (as
always with multiple clients) AND separate directories for the Skype
client's database (eg: by default it resides in the ".Skype" directory in
the user's home).
You can find an example configuration file and launch scripts in
configs/multiple-instance-same-skype-username/ directory.
Sincerely,
Giovanni Maruzzelli
Cell : +39-347-2665618
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20140821/c4b49aab/attachment-0001.html
Join us at ClueCon 2016 Aug 8-12, 2016
More information about the FreeSWITCH-users
mailing list