Call Us Today! 877.742.2583




Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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


Info

Debian 9 “Stretch” 10 “Buster” is now officially supported by

Fs
.

Dependencies are available from FreeSWITCH repository via the "apt-get build-dep freeswitch" command.

Debian 9 10 "StretchBuster" is the reference platform for 

Fs
 as of version 1.8 10 and is STRONGLY recommended for all applications due to its stability and broad support for the system libraries needed by FreeSWITCH. 

Breaking change in FreeSWITCH 1.10

From FreeSWITCH 1.10, pgsql  is not in core (mod_commands ?), but in mod_pgsql

Warning

You MUST NOT load mod_pgsql in modules.conf.xml , but in pre_load_modules.conf.xml , an additional XML file also in  conf/autoload_configs/  directory.


Code Block
languagexml
titlepre_load_modules.conf.xml
<configuration name="pre_load_modules.conf" description="Modules">
  <modules>
    <!-- Databases -->
    <!-- <load module="mod_mariadb"/> -->
    <load module="mod_pgsql"/>
  </modules>
</configuration>


Commit Log

See all FreeSWITCH commits here: https://freeswitchgithub.orgcom/stash/projects/FS/repos/signalwire/freeswitch/commits/master

 


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
wget -O - https://files.freeswitch.org/repo/deb/freeswitchdebian-1.8release/fsstretch-archive-keyring.asc | apt-key add -

echo "deb http://files.freeswitch.org/repo/deb/freeswitchdebian-1.8release/ stretch main" > /etc/apt/sources.list.d/freeswitch.list
echo "deb-src http://files.freeswitch.org/repo/deb/freeswitchdebian-1.8release/ stretch 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
titleBuild your own .deb Master package
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/ stretch main" > /etc/apt/sources.list.d/freeswitch.list
echo "deb-src http://files.freeswitch.org/repo/deb/debian-unstable/ stretch main" >> /etc/apt/sources.list.d/freeswitch.list

apt-get update && apt-get install -y xz-utils devscripts cowbuilder git screen

# nonstandard packages from freeswitch repo are not trusted by pbuilder !!
echo "ALLOWUNTRUSTED=yes" >> /etc/pbuilderrc

# get the latest master. Use the -b flag to get a specific branch
mkdir /usr/src/freeswitch-debs
git clone https://freeswitchgithub.orgcom/stashsignalwire/scm/fs/freeswitch.git /usr/src/freeswitch-debs/freeswitch

cd /usr/src/freeswitch-debs
# here it's good to run screen with logging, so that you can detach from the shell prompt
screen -L
cd freeswitch
./debian/util.sh build-all -aamd64 -cstretch

# here you can detach by Ctrl-a Ctrl-d and see the log files in /usr/src/freeswitch-debs/log/ folder.
# The build may last about an hour, depending on your CPU speed.
# If the build is successful, you will have a bunch of .deb files in /usr/src/freeswitch-debs

 



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
wget -O - https://files.freeswitch.org/repo/deb/freeswitchdebian-1.8release/fsstretch-archive-keyring.asc | apt-key add -

echo "deb http://files.freeswitch.org/repo/deb/freeswitchdebian-1.8release/ stretch main" > /etc/apt/sources.list.d/freeswitch.list
echo "deb-src http://files.freeswitch.org/repo/deb/freeswitchdebian-1.8release/ stretch 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://freeswitchgithub.orgcom/stashsignalwire/scm/fs/freeswitch.git -bv1.810 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
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/ stretch main" > /etc/apt/sources.list.d/freeswitch.list
echo "deb-src http://files.freeswitch.org/repo/deb/debian-unstable/ stretch 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://freeswitchgithub.orgcom/stashsignalwire/scm/fs/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.

 

 



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

Verto Communicator quick start guide for Debian 9

Code Block
# get nodejs from source, needed for npm
apt-get update
apt-get -y install apache2 curl
curl -sL https://deb.nodesource.com/setup_11.x | bash -
apt-get update
apt-get -y install nodejs

# get FreeSWITCH source code
git clone https://freeswitchgithub.orgcom/stashsignalwire/scm/fs/freeswitch.git /usr/src/freeswitch

# build Verto Communicator
cd /usr/src/freeswitch/html5/verto/verto_communicator
npm install -g grunt grunt-cli bower
npm install
bower --allow-root install
grunt build

# copy contents of dist folder to a web directory
mkdir -p /var/www/html/vc
cp -r /usr/src/freeswitch/html5/verto/verto_communicator/dist/* /var/www/html/vc/

# update password to match what in vars.xml
sed -i 's/1234/12345/' /var/www/html/vc/config.json

# enable secure web browsing
a2enmod ssl
a2ensite default-ssl.conf
systemctl restart apache2


# if using self-signed cert
# navigate to port https://[IP]:8082 accept cert first
# then navigate to site https://[IP]/vc


...