Setting Up Freeswitch On Debian 5 (Lenny)

Want to support HowtoForge? Become a subscriber!
Submitted by awan (Contact Author) (Forums) on Mon, 2010-01-11 17:01. :: Debian

Setting Up Freeswitch On Debian 5 (Lenny)


FreeSWITCH is an open-source telephony platform designed to facilitate the creation of voice and chat driven products scaling from a soft-phone up to a soft-switch. It can be used as a simple switching engine, a PBX, a media gateway or a media server to host IVR applications using simple scripts or XML to control the callflow.


Setup environment

OS: Linux
Distribution: Debian 5 (Lenny)
Date: 12/11/2009
Prerequisite: minimal install
Freeswitch version: 1.0.4


When/Where to use Freeswitch

Scenarios where freeswitch fits in:

Rating & Routing Server
Transcoding B2BUA 
IVR & Announcement Server
Conference Server
Voicemail Server 
SBC (Session Border Controller) 
Basic Topology Hiding Session Border Controller 
Zaptel, Sangoma, Rhino, PIKA Hardware Support (Analog and PRI)
And, of course, a PBX


Downloading Source

Debian lenny does not come with binaries of Freeswitch. Therefore we would be using “svn” repositories to build the binaries.

cd /usr/src
sudo apt-get install subversion build-essential autoconf automake libtool libncurses5 libncurses5-dev

svn checkout freeswitch

This will download the source code from the web( ~311 Mb in size). Make sure you have Internet access.If you are behind proxy. Set the proxy in /root/.subversion/servers.


Building Binaries

cd freeswitch

Run the following command to check for any dependencies that may exist.


I needed these. Your requirements may vary. Fulfill them.

aptitude install automake1.9 unixodbc-dev libasound2-dev libcurl3-openssl-dev \
libcurl4-openssl-dev libssl-dev libogg-dev libvorbis-dev libperl-dev libgdbm-dev \
libdb-dev libgnutls-dev libtiff4-dev libmemcache-dev memcached libx11-dev

Start building the packages.

dpkg-buildpackage -rfakeroot

Note: During the building process still need Internet access. (The scripts fetch stuff fromt the web.)

Building process should take around 12 hours on a Pentium 4 with 1Gb ram & this should produce following debian packages (definitions listed only).


Freeswitch - The FreeSWITCH open source telephony platform

freeswitch-codec-passthru-amr - Pass through AMR Codec support for the FreeSWITCH(TM)

freeswitch-codec-passthru-g7231 - Pass through g723.1 Codec support for the FreeSWITCH(TM)

freeswitch-codec-passthru-g729 - Pass through g729 Codec support for the FreeSWITCH(TM)

freeswitch-dbg - The FreeSWITCH(TM) open source telephony platform Debug symbols

freeswitch-dev - Development Package for the FreeSWITCH(TM)

freeswitch-lang-de - German language files for the FreeSWITCH(TM)

freeswitch-lang-en - English language files for the FreeSWITCH(TM)

freeswitch-lang-es - Spanish language files for the FreeSWITCH(TM)

freeswitch-lang-fr - French language files for the FreeSWITCH(TM)

freeswitch-lang-it - Italian language files for the FreeSWITCH(TM)

freeswitch-lang-nl - Dutch language files for the FreeSWITCH(TM)

freeswitch-lua - A lua engine for FreeSWITCH(TM)

freeswitch-perl - A perl engine for FreeSWITCH(TM)

freeswitch-sounds-en-us-callie-16000 - English language files for the FreeSWITCH(TM) (16000)

freeswitch-sounds-en-us-callie-32000 - English language files for the FreeSWITCH(TM) (32000)

freeswitch-sounds-en-us-callie-8000 - English language files for the FreeSWITCH(TM)

freeswitch-sounds-music-8000 - Music on hold files for the FreeSWITCH(TM) (8000)

freeswitch-spidermonkey - A Javascript engine for FreeSWITCH(TM)


Installing the freeswitch debs:

Install all the packages. Alternatively you may skip installing other language packages except English (i.e. Freeswitch-lang-en).

dpkg -i freeswitch*.deb

This takes around 125 MB of storage space.

Please do not use the comment function to ask for help! If you need help, please use our forum.
Comments will be published after administrator approval.
Submitted by Ralph (not registered) on Tue, 2010-08-24 08:24.

Howdy, Your instructions worked pretty well, as far as they go. There were several missing .deb files and it built much quicker than you suggested. I am sure those two facts are related. I gather from from what I read elsewhere that the reason is that freeswitch separated the sound files out of the main package. I have not found them yet, but your instructions need to change, if you expect the sound file packages to be built. Finally, I would suggest you update the first page to reflect that these instructions don't actually produce a working system. The todo at the end saying that Trunking/Gateway was still needed is a big one. It is a good start, though. Good day

Submitted by Anonymous (not registered) on Fri, 2010-04-30 03:44.
Excellent detailed step by step article, good work author
Submitted by awan (registered user) on Tue, 2010-05-04 14:22.

thanx. Im glad it is of use to someone. XML based config files are not for the faint-hearted although I must admit that I hate xml.