Call Us Today! 877.742.2583

Page tree

Versions Compared


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


Code Block
titleScript FreeSWITCH demo install
# 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" <>
# License: WTFPL


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

apt-get install -y wget git

wget -O - | apt-key add -

cd /usr/src

git clone -bv1.6 freeswitch

echo "deb jessie main" > /etc/apt/sources.list.d/freeswitch.list
echo "deb jessie-backports main" > /etc/apt/sources.list.d/debian-backports.list

apt-get update && 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

git config --global url."https://".insteadOf git://

cd /usr/src/freeswitch/html5/verto/verto_communicator/

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

service nginx restart
service freeswitch restart