Instructions for Ubuntu server 10.04 32 bit with old skypopen installed.
Install the latest Skype client
http://download.skype.com/linux/skype-4.3.0.37.tar.bz2
note: new Skype client need pulseaudio!
apt-get install libx11-dev libx11-dev libxau-dev libxcb1-dev libxdmcp-dev x11proto-core-dev x11proto-input-dev x11proto-kb-dev xtrans-dev
apt-get install libxss1 libqtcore4 libqt4-dbus libqtgui4
apt-get install python-software-properties
add-apt-repository ppa:kubuntu-ppa/backports
apt-get update
apt-get install libqt4-webkit
apt-get install xvfb
apt-get install libasound2 libasound2-plugins alsa alsa-utils alsa-oss alsa-tools
apt-get install pulseaudio pulseaudio-utils
edit
/lib/linux-sound-base/noALSA.nodprobe.conf
and
/lib/linux-sound-base/noOSS.nodprobe.conf
and remove everything inside (empty files)
Pulseaudio configuration (Centos / Ubuntu)
add root (or freeswitch) user to group pulseaudio and pulse-access
nano /etc/default/pulseaudio
Change
PULSEAUDIO_SYSTEM_START=0
to
PULSEAUDIO_SYSTEM_START=1
nano /etc/pulse/system.pa
remove everything and put
load-module module-null-sink
load-module module-native-protocol-unix
nano /etc/pulse/daemon.conf
at the end of the file add
daemonize = yes
system-instance = yes
resample-method = trivial
flat-volumes = yes
default-sample-rate = 48000
default-sample-channels = 1
default-fragment-size-msec = 20
; alternate-sample-rate = 44100
nano /etc/init.d/pulseaudio
remove everything and put the following lines
Code:
#!/bin/sh -e
### BEGIN INIT INFO
# Provides: pulseaudio esound
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Should-Start: udev NetworkManager
# Should-Stop: udev NetworkManager
# Default-Start: 2 3 4 5
# Default-Stop: 1
# Short-Description: Start the PulseAudio sound server
# Description: System mode startup script for
# the PulseAudio sound server.
### END INIT INFO
DAEMON=/usr/bin/pulseaudio
PIDDIR=/var/run/pulse
PIDFILE=$PIDDIR/pid
DAEMONUSER=pulse
PATH=/sbin:/bin:/usr/sbin:/usr/bin
test -x $DAEMON || exit 0
. /lib/lsb/init-functions
PULSEAUDIO_SYSTEM_START=0
DISALLOW_MODULE_LOADING=1
test -f /etc/default/pulseaudio && . /etc/default/pulseaudio
if [ "$PULSEAUDIO_SYSTEM_START" != "1" ]; then
log_warning_msg "PulseAudio configured for per-user sessions"
exit 0
fi
pulseaudio_start () {
log_daemon_msg "Starting system PulseAudio Daemon"
if [ ! -d $PIDDIR ]; then
mkdir -p $PIDDIR
chown $DAEMONUSER:$DAEMONUSER $PIDDIR
fi
start-stop-daemon -x $DAEMON -p $PIDFILE --start -- --system --daemonize --log-
target=syslog --disallow-module-loading=$DISALLOW_MODULE_LOADING
status=$?
if [ -e /var/run/pulse/.esd_auth ]; then
chown pulse:pulse-access /var/run/pulse/.esd_auth
chmod 640 /var/run/pulse/.esd_auth
fi
if [ -e /var/run/pulse/.pulse-cookie ]; then
chown pulse:pulse-access /var/run/pulse/.pulse-cookie
chmod 640 /var/run/pulse/.pulse-cookie
fi
log_end_msg ${status}
}
pulseaudio_stop () {
log_daemon_msg "Stopping system PulseAudio Daemon"
start-stop-daemon -p $PIDFILE --stop --retry 5 || echo -n "...which is not running"
log_end_msg $?
}
case "$1" in
start|stop)
pulseaudio_${1}
;;
restart|reload|force-reload)
if [ -s $PIDFILE ] && kill -0 $(cat $PIDFILE) >/dev/null 2>&1; then
pulseaudio_stop
pulseaudio_start
fi
;;
force-stop)
pulseaudio_stop
killall pulseaudio || true
sleep 2
killall -9 pulseaudio || true
;;
status)
status_of_proc -p $PIDFILE "$DAEMON" "system-wide PulseAudio" && exit 0 ||
exit $?
;;
*)
echo "Usage: /etc/init.d/pulseaudio {start|stop|force-stop|restart|reload|force-reload|
status}"
exit 1
;;
esac
exit 0
nano /usr/local/freeswitch/skypopen/skype-clients-startup-dir/start_skype_clients.sh
check if you have the following lines
Code:
#!/bin/sh
#Unload possible ALSA sound modules that would conflict with our OSS fake module
rmmod snd_pcm_oss
rmmod snd_mixer_oss
rmmod snd_seq_oss
sleep 1
#Create the inode our fake sound driver will use
mknod /dev/dsp c 14 3
#Load our OSS fake module
insmod /usr/local/freeswitch/skypopen/skypopen-sound-driver-dir/skypopen.ko
pulseaudio -D
#start the fake X server on the given port
/usr/bin/Xvfb :101 -ac -nolisten tcp -screen 0 640x480x8 &
sleep 3
# start a Skype client instance that will connect to the X server above, and will login to the Skype network using the 'username password' you send to it on stdin.
su root -c "/bin/echo 'SkypeUser SkypePass'| DISPLAY=:101 /usr/local/freeswitch/skypopen/skype-clients-symlinks-dir/skype101 --dbpath=/usr/local/freeswitch/skypopen/skype-clients-configuration-dir/skype101 --pipelogin &"
sleep 7
exit 0
tested on two Asterisk 1.6.2.4 + FreePBX 2.8.1.5 + Freeswitch 1.2.10 PBXes