Skip to main content

Debian 8 Jessie

About

We no longer support Debian 8 "Jessie" packages for FreeSWITCH™ .

Debian 8 "Jessie" was the reference platform for FreeSWITCH™ as of version 1.6.

Debian 9 "Stretch" was suitable for the FreeSWITCH™ 1.8 release.

Debian 10 "Buster" is now recommended for the FreeSWITCH™ 1.10 release.

Click here to expand Table of Contents

echo "deb http://ftp.debian.org/debian jessie-backports main" >> /etc/apt/sources.list

2016.02.14 — Please note this important change that went into Master today. As of today, we are no longer using system versions of libyuv and libvpx due to major conflicts with system versions of these libraries. These are now built static into the freeswitch core. Also note, mod_vpx no longer exists, it is automatically loaded as part of the core and you will no longer have mod_vpx.so nor have to load it manually. I'll have more details coming, but let me know if you have any questions.

Please note for anyone doing cross compiling, this probably means a bit more work for you, I'll be working on fixing that this week.

- Mike Jerris

Commit Log

See all FreeSWITCH commits here: https://github.com/signalwire/freeswitch/commits/master

Compiling from source code

Building From Source

Compiling Release Branch (production)

Release source build

wget -O - https://files.freeswitch.org/repo/deb/freeswitch-1.8/fsstretch-archive-keyring.asc | apt-key add -

echo "deb http://files.freeswitch.org/repo/deb/freeswitch-1.8/ jessie main" > /etc/apt/sources.list.d/freeswitch.list
echo "deb-src http://files.freeswitch.org/repo/deb/freeswitch-1.8/ jessie main" >> /etc/apt/sources.list.d/freeswitch.list

apt-get update

# Install dependencies required for the build
apt-get build-dep freeswitch

# then let's get the source. Use the -b flag to get a specific branch
cd /usr/src/
git clone https://github.com/signalwire/freeswitch.git -bv1.8 freeswitch
cd freeswitch

# Because we're in a branch that will go through many rebases, it's
# better to set this one, or you'll get CONFLICTS when pulling (update).
git config pull.rebase true

# ... and do the build
./bootstrap.sh -j
./configure
make
make install

Compiling Latest Master (for testing)

WARNING not suitable for production

Master source build

wget -O - https://files.freeswitch.org/repo/deb/debian-unstable/freeswitch_archive_g0.pub | apt-key add -

echo "deb http://files.freeswitch.org/repo/deb/debian-unstable/ jessie main" > /etc/apt/sources.list.d/freeswitch.list
echo "deb-src http://files.freeswitch.org/repo/deb/debian-unstable/ jessie main" >> /etc/apt/sources.list.d/freeswitch.list

apt-get update

# Install dependencies required for the build
apt-get build-dep freeswitch

# Then let's get the source. Use the -b flag to get a specific branch
cd /usr/src/
git clone https://github.com/signalwire/freeswitch.git freeswitch
cd freeswitch

# Because we're in a branch that will go through many rebases, it's
# better to set this one, or you'll get CONFLICTS when pulling (update).
git config pull.rebase true

# ... and do the build

# The -j argument spawns multiple threads to speed the build process, but causes trouble on some systems
./bootstrap.sh -j

# if you want to add or remove modules from the build, edit modules.conf
vi modules.conf

# add a module by removing '#' comment character at the beginning of the line
# remove a module by adding the '#' comment character at the beginning of the line
# containing the name of the module to be skipped in the build process

./configure
make
make install

# Install audio files:
make cd-sounds-install cd-moh-install

# To update an installed build:
cd /usr/src/freeswitch
make current

Before Starting FreeSWITCH

If you built FreeSWITCH™ from source code you should set file permissions and ownership before starting FreeSWITCH. Follow the post-installation instructions.

Quick Start FreeSWITCH Demo With Verto Communicator

WARNING not suitable for production

Script FreeSWITCH demo install

#!/bin/sh
# Simple script to setup a webrtc enabled lab with freeswitch, nginx, letsencrypt certificates and verto_communicator.
# Adapt the DOMAIN & IP variables below and launch as root on on a freshly minimal installed debian 8 ( jessie ) server.
# DO NOT USE IN PRODUCTION, it's for proof-of-concept purposes.
# FreeSWITCH config is the default vanilla demo config, you SHOULD CHANGE the DEFAULT PASSWORDS ( extensions, event_socket, etc ... )
# At the end of the script, you can navigate to https://$DOMAIN/vc and enjoy Verto Communicator in your web browser!
# Author: "Tristan Mahe" <gled@remote-shell.net>
# License: WTFPL

DOMAIN="your.domain.here"
IP="1.2.3.4"

apt-get clean && apt-get update && apt-get -y upgrade && apt-get -y dist-upgrade

apt-get install -y wget git

wget -O - https://files.freeswitch.org/repo/deb/freeswitch-1.8/fsstretch-archive-keyring.asc | apt-key add -

echo "deb http://files.freeswitch.org/repo/deb/freeswitch-1.8/ jessie main" > /etc/apt/sources.list.d/freeswitch.list
echo "deb-src http://files.freeswitch.org/repo/deb/freeswitch-1.8/ jessie main" >> /etc/apt/sources.list.d/freeswitch.list

apt-get update

cd /usr/src

git clone https:/github.com/signalwire/freeswitch.git -bv1.8 freeswitch

apt-get install -y freeswitch-meta-all nginx-extras freeswitch-mod-verto freeswitch-mod-rtc

apt-get install -y letsencrypt -t jessie-backports
letsencrypt certonly -a webroot --webroot-path=/var/www/html -d $DOMAIN

cat /etc/letsencrypt/live/$DOMAIN/fullchain.pem /etc/letsencrypt/live/$DOMAIN/privkey.pem > /etc/freeswitch/tls/wss.pem

cp -f /usr/src/freeswitch/html5/verto/video_demo/dp/dp.xml /etc/freeswitch/dialplan/default/0000_dp.xml

perl -i -pe 's/# listen/listen/g' /etc/nginx/sites-enabled/default
perl -i -pe 's/# include snippets\/snakeoil.conf/include snippets\/letsencrypt.conf/g' /etc/nginx/sites-enabled/default
perl -i -pe 's/<!-- <param name="ext-rtp-ip" value=""\/> -->/<param name="ext-rtp-ip" value="$IP"\/>/g' /etc/freeswitch/autoload_configs/verto.conf.xml

echo "ssl_certificate /etc/letsencrypt/live/$DOMAIN/fullchain.pem;" >> /etc/nginx/snippets/letsencrypt.conf
echo "ssl_certificate_key /etc/letsencrypt/live/$DOMAIN/privkey.pem;" >> /etc/nginx/snippets/letsencrypt.conf

# Attention with this, it may break other software you want to get through Git
git config --global url."https://".insteadOf git://

cd /usr/src/freeswitch/html5/verto/verto_communicator/
./debian8-install.sh

ln -s /usr/src/freeswitch/html5/verto/verto_communicator/dist /var/www/html/vc

service nginx restart
service freeswitch restart

Comments:

What's the different between freeswitch-meta-all and freeswitch-all package ? Posted by livem at Nov 23, 2016 23:51
nothing really, -meta-all points is effectively an alias for -all-all installs pretty much everything Posted by silik0n at Dec 05, 2016 17:20
echo "deb http://files.freeswitch.org/repo/deb/freeswitch-1.6/ jessie main" > /etc/apt/sources.list.d/freeswitch.listAbove line is breaking my "apt-get update" functionality with below errors, as its using SHA1 algo, instead of SHA256.Error -1: W: GPG error: http://files.freeswitch.org/repo/ubuntu-1604/freeswitch-unstable xenial InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 018DDB2EF14D5181W: The repository 'http://files.freeswitch.org/repo/ubuntu-1604/freeswitch-unstable xenial InRelease' is not signed.N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.N: See apt-secure(8) manpage for repository creation and user configuration details. Then i added the key into gpg with below commandapt-key adv --keyserver keyserver.ubuntu.com --recv-keys D76EDC7725E010CF Error-2: After adding the key got below errorW: http://files.freeswitch.org/repo/deb/freeswitch-1.6/dists/jessie/InRelease: Signature by key 20B06EE621AB150D40F6079FD76EDC7725E010CF uses weak digest algorithm (SHA1)**Error-3:**apt-get install -y freeswitch-meta-all nginx-extras freeswitch-mod-verto freeswitch-mod-rtcThe following packages have unmet dependencies: freeswitch-meta-all : Depends: freeswitch-meta-codecs (= 1.6.15~32~bec4538-1~jessie+1) but it is not going to be installed Depends: freeswitch-mod-av (= 1.6.15~32~bec4538-1~jessie+1) but it is not going to be installed Depends: freeswitch-mod-soundtouch (= 1.6.15~32~bec4538-1~jessie+1) but it is not going to be installed Depends: freeswitch-mod-spandsp (= 1.6.15~32~bec4538-1~jessie+1) but it is not going to be installed Depends: freeswitch-mod-perl (= 1.6.15~32~bec4538-1~jessie+1) but it is not going to be installedE: Unable to correct problems, you have held broken packages. Posted by ajaychoudary at Mar 17, 2017 10:01
So I installed verto with no errors, and it's running on my secure site. Can anyone please tell me how to get a secure web socket (wss) connection? Netstat shows my server is listening on wss port 8082 but connection is rfefused both firefox & chrome, and I did restart fs many times, nginx too.The port is open in my firewall so i am stuck on what to try next.http://prntscr.com/ev5ywx http://prntscr.com/ev5zdi http://prntscr.com/ev60h9Going to research on using SIP TLS and not use wss to see if I can connect Posted by simbahmso at Apr 11, 2017 11:36
Looks like you are trying to connect Verto Communicator to mod_sofia's WSS.... you need to setup mod_verto.... Posted by silik0n at Jun 01, 2017 12:46
I think these parts in the Master and Release source build sections are over the top! # Because we're in a branch that will go through many rebases, it's# better to set this one, or you'll get CONFLICTS when pulling (update). git config --global pull.rebase true You really shouldn't tell people to change their global config...I'd put it like that ... cd freeswitch # Because we're in a branch that will go through many rebases, it's # better to set this one, or you'll get CONFLICTS when pulling (update). git config pull.rebase true ... Posted by jaeckel at Oct 20, 2017 06:47
Hi Folks,i have install free switch successfully and i'm trying to implement HA as well, but i want to know how to stop free-switch being automatically start. Posted by frodood at Oct 20, 2017 07:45
thanks~ Posted by livem at Jan 26, 2018 04:23
hi,after install, the default wss.pem gives error, so to test verto communicator with a custom certificate (i think this info is around here) if testing in local without a public domain to use lets encrypt:mkdir /root/sslcd /root/sslopenssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out certificate.pem#TIP: put in common name the ip address, so when testing you only have the warning for invalidcat key.pem certificate.pem > /usr/local/freeswitch/certs/wss.pem #enable or replace in nginx ssl options for /etc/nginx/sites-enabled/defaultssl_certificate /root/ssl/certificate.pem;ssl_certificate_key /root/ssl/key.pem; #vc into www,cp -a /usr/src/freeswitch/html5/verto/verto_communicator/dist/* /var/www/html/ hope it helps others (smile) Posted by antonio at Feb 07, 2018 06:39
I wanted to do video conferencing using the free switch. I am a new user can anyone guide me to do that Posted by ssoni2 at Feb 13, 2018 16:02
Debian 8 Long Term Support reaching end-of-lifehttps://www.debian.org/News/2020/20200709 Posted by livem at May 18, 2021 21:19