About
Debian 8 "Jessie" is the reference platform for
FreeSWITCH™ as of version 1.6 and is STRONGLY recommended for all applications due to its stability and broad support for the system libraries needed by FreeSWITCH.
Installing from Debian packages
latest release branch:
apt-get update && apt-get install -y curl curl https://files.freeswitch.org/repo/deb/debian/freeswitch_archive_g0.pub | apt-key add - echo "deb http://files.freeswitch.org/repo/deb/freeswitch-1.6/ jessie 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-all freeswitch-all-dbg gdb
master branch (eg: "git"):
WARNING not suitable for production
apt-get update && apt-get install -y curl curl https://files.freeswitch.org/repo/deb/debian/freeswitch_archive_g0.pub | apt-key add - echo "deb http://files.freeswitch.org/repo/deb/freeswitch-1.6/ jessie main" > /etc/apt/sources.list.d/freeswitch.list echo "deb http://files.freeswitch.org/repo/deb/debian-unstable/ jessie 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-all freeswitch-all-dbg gdb
Building Debian packages from master branch
WARNING not suitable for production
The master branch depends on video libraries which are not available as packages in Debian distribution, but are available from FreeSWITCH repository. Thus, you need to import the FreeSWITCH repository PGP key and use the supplied sources.list
file.
echo "deb http://files.freeswitch.org/repo/deb/freeswitch-1.6/ jessie main" > /etc/apt/sources.list.d/freeswitch.list echo "deb http://files.freeswitch.org/repo/deb/debian-unstable/ jessie main" >> /etc/apt/sources.list.d/freeswitch.list apt-get update && apt-get install -y git curl screen # we need some prepackaged libraries for video support from this repo curl https://files.freeswitch.org/repo/deb/debian/freeswitch_archive_g0.pub | apt-key add - # get the latest master. Use the -b flag to get a specific branch mkdir /usr/src/freeswitch-debs git clone https://freeswitch.org/stash/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 -b -i -z1 -aamd64 -cjessie -T /usr/src/freeswitch-debs/freeswitch/debian/apt_sources.list # 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
Building from source
Compiling latest release branch:
apt-get update && apt-get install -y curl curl https://files.freeswitch.org/repo/deb/debian/freeswitch_archive_g0.pub | apt-key add - echo "deb http://files.freeswitch.org/repo/deb/freeswitch-1.6/ jessie main" > /etc/apt/sources.list.d/freeswitch.list apt-get update apt-get install -y --force-yes freeswitch-video-deps-most # 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 # then let's get the source. Use the -b flag to get a specific branch cd /usr/src/ git clone https://freeswitch.org/stash/scm/fs/freeswitch.git -bv1.6 freeswitch.git cd freeswitch.git ./bootstrap.sh -j ./configure make make install
Compiling latest master (eg: "git")
WARNING not suitable for production
apt-get update && apt-get install -y curl curl https://files.freeswitch.org/repo/deb/debian/freeswitch_archive_g0.pub | apt-key add - echo "deb http://files.freeswitch.org/repo/deb/freeswitch-1.6/ jessie main" > /etc/apt/sources.list.d/freeswitch.list
echo "deb http://files.freeswitch.org/repo/deb/debian-unstable/ jessie main" >> /etc/apt/sources.list.d/freeswitch.list
apt-get update apt-get install -y --force-yes freeswitch-video-deps-most
# 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 # then let's get the source. Use the -b flag to get a specific branch cd /usr/src/ git clone https://freeswitch.org/stash/scm/fs/freeswitch.git freeswitch.git cd freeswitch.git ./bootstrap.sh -j ./configure make make install
Starting FreeSWITCH
cd /usr/local/freeswitch/ ./bin/freeswitch -ncwait -nonat ./bin/fs_cli
Note that when installed from packages (as in "latest release branch") the binaries are located in "/usr/bin/freeswitch" (It should also be possible to just use "freeswitch" - double check with "which").