Call Us Today! 877.742.2583




Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: clarify page title

About

Warning

FreeSWITCH project has been moved to GitHub: https://github.com/signalwire/freeswitch
Please open new issues in: https://github.com/signalwire/freeswitch/issues

...

Note

We dropped support in packaging for anything older than Debian 9 and anything older than Centos 7 due to a number of dependency issues on older platforms.

Commit Log

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

Installing FreeSWITCH - Package or Source

Panel
borderColorlightgray
bgColor#eeeeff
borderWidth1
titleBGColor#F7F7F7
borderStyledotted
titleEasy Way

Installing From Debian Packages

Latest Release Branch:

Code Block
languagebash
titleRelease package
apt-get update && apt-get install -y gnupg2 wget lsb-release
wget -O /usr/share/keyrings/freeswitch-archive-keyring.gpg https://files.freeswitch.org/repo/deb/debian-release/freeswitch-archive-keyring.gpg

echo "deb [signed-by=/usr/share/keyrings/freeswitch-archive-keyring.gpg] https://files.freeswitch.org/repo/deb/debian-release/ `lsb_release -sc` main" > /etc/apt/sources.list.d/freeswitch.list
echo "deb-src [signed-by=/usr/share/keyrings/freeswitch-archive-keyring.gpg] https://files.freeswitch.org/repo/deb/debian-release/ `lsb_release -sc` main" >> /etc/apt/sources.list.d/freeswitch.list

# you may want to populate /etc/freeswitch at this point.
# if /etc/freeswitch does not exist, the standard vanilla configuration is deployed
apt-get update && apt-get install -y freeswitch-meta-all

Fs
is now installed and can be accessed with

Code Block
languagebash
titleFreeSwitch CLI
fs_cli -rRS


...

Code Block
languagebash
titleMaster Test Package
apt-get update && apt-get install -yq gnupg2 wget lsb-release
wget -O /usr/share/keyrings/freeswitch-archive-keyring.gpg https://files.freeswitch.org/repo/deb/debian-unstable/freeswitch-archive-keyring.gpg

echo "deb [signed-by=/usr/share/keyrings/freeswitch-archive-keyring.gpg] https://files.freeswitch.org/repo/deb/debian-unstable/ `lsb_release -sc` main" > /etc/apt/sources.list.d/freeswitch.list
echo "deb-src [signed-by=/usr/share/keyrings/freeswitch-archive-keyring.gpg] https://files.freeswitch.org/repo/deb/debian-unstable/ `lsb_release -sc` main" >> /etc/apt/sources.list.d/freeswitch.list

# you may want to populate /etc/freeswitch at this point.
# if /etc/freeswitch does not exist, the standard vanilla configuration is deployed
apt-get update && apt-get install -y freeswitch-meta-all

Building Debian Packages From Master Branch

Status
colourYellow
titleWARNING
 not suitable for production

...

Panel
borderColorlightgray
bgColor#ffdddd
borderWidth1
titleBGColor#F7F7F7
borderStyledotted
titleCompiling from source code

Building From Source

Compiling Release Branch (production)

Code Block
languagebash
titleRelease source build
apt-get update && apt-get install -yq gnupg2 wget lsb-release
wget -O /usr/share/keyrings/freeswitch-archive-keyring.gpg https://files.freeswitch.org/repo/deb/debian-release/freeswitch-archive-keyring.gpg

echo "deb [signed-by=/usr/share/keyrings/freeswitch-archive-keyring.gpg] https://files.freeswitch.org/repo/deb/debian-release/ `lsb_release -sc` main" > /etc/apt/sources.list.d/freeswitch.list
echo "deb-src [signed-by=/usr/share/keyrings/freeswitch-archive-keyring.gpg] https://files.freeswitch.org/repo/deb/debian-release/ `lsb_release -sc` 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.10 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)

Status
colourYellow
titleWARNING
not suitable for production

Code Block
languagebash
themeEmacs
titleMaster source build
apt-get update && apt-get install -yq gnupg2 wget lsb-release
wget -O /usr/share/keyrings/freeswitch-archive-keyring.gpg https://files.freeswitch.org/repo/deb/debian-unstable/freeswitch-archive-keyring.gpg

echo "deb [signed-by=/usr/share/keyrings/freeswitch-archive-keyring.gpg] https://files.freeswitch.org/repo/deb/debian-unstable/ `lsb_release -sc` main" > /etc/apt/sources.list.d/freeswitch.list
echo "deb-src [signed-by=/usr/share/keyrings/freeswitch-archive-keyring.gpg] https://files.freeswitch.org/repo/deb/debian-unstable/ `lsb_release -sc` 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

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

...