Freepbx est une solution d’IPBX open source. Il permet de déployer une solution de téléphonie.
Ce tutoriel détaille son installation et sa configuration pour un usage interne.
Installation
On met tout d’abord sa distribution Debian à jour :
apt update && apt upgrade -y
On télécharge ensuite les prérequis :
apt-get install -y build-essential linux-headers-`uname -r` openssh-server apache2 mysql-server\
mysql-client bison flex php5 php5-curl php5-cli php5-mysql php-pear php5-gd curl sox\
libncurses5-dev libssl-dev libmysqlclient-dev mpg123 libxml2-dev libnewt-dev sqlite3\
libsqlite3-dev pkg-config automake libtool autoconf git unixodbc-dev uuid uuid-dev\
libasound2-dev libogg-dev libvorbis-dev libcurl4-openssl-dev libical-dev libneon27-dev libsrtp0-dev\
libspandsp-dev sudo libmyodbc subversion
Suivez les étapes d’installation des dépendances.
Redémarrez ensuite le serveur.
reboot
On installe ensuite les prérequis :
pear install Console_Getopt
On télécharge les sources d’Asterisk :
cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz
wget -O jansson.tar.gz https://github.com/akheron/jansson/archive/v2.7.tar.gz
wget http://www.pjsip.org/release/2.4/pjproject-2.4.tar.bz2
On Installe dahdi :
cd /usr/src
tar xvfz dahdi-linux-complete-current.tar.gz
rm -f dahdi-linux-complete-current.tar.gz
cd dahdi-linux-complete-*
make all
make install
make config
cd /usr/src
tar xvfz libpri-current.tar.gz
rm -f libpri-current.tar.gz
cd libpri-*
make
make install
On installe pjproject :
cd /usr/src
tar -xjvf pjproject-2.4.tar.bz2
rm -f pjproject-2.4.tar.bz2
cd pjproject-2.4
CFLAGS='-DPJ_HAS_IPV6=1' ./configure --enable-shared --disable-sound --disable-resample --disable-video --disable-opencore-amr
make dep
make
make install
On installe jansson :
cd /usr/src
tar vxfz jansson.tar.gz
rm -f jansson.tar.gz
cd jansson-*
autoreconf -i
./configure
make
make install
On installe Asterisk :
cd /usr/src
tar xvfz asterisk-13-current.tar.gz
rm -f asterisk-13-current.tar.gz
cd asterisk-*
contrib/scripts/get_mp3_source.sh
contrib/scripts/install_prereq install
./configure
make menuselect
Un menu devrait apparaitre afin de configurer les options d’Asterisk, ajouter le support mp3
Dans core sound package ajouter :
CORE-SOUNDS-FR-ULAW
Dans music on hold file packages ajouter :
MOH-OPSOUND-ULAW
Dans extras sound packages ajouter :
EXTRA-SOUNDS-FR-ULAW
On poursuit ensuite notre installation :
make
make install
make config
ldconfig
update-rc.d -f asterisk remove
On va ensuite modifier les permissions de Asterisk :
useradd -m asterisk
chown asterisk. /var/run/asterisk
chown -R asterisk. /etc/asterisk
chown -R asterisk. /var/{lib,log,spool}/asterisk
chown -R asterisk. /usr/lib/asterisk
rm -rf /var/www/html
On Modifie les fichiers apache pour freepbx :
sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php5/apache2/php.ini
cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf_orig
sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/apache2/apache2.conf
sed -i 's/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.conf
a2enmod rewrite
service apache2 restart
On configure l’odbc :
cat >> /etc/odbcinst.ini << EOF
[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libodbcmyS.so
FileUsage = 1
EOF
cat >> /etc/odbc.ini << EOF
[MySQL-asteriskcdrdb]
Description=MySQL connection to 'asteriskcdrdb' database
driver=MySQL
server=localhost
database=asteriskcdrdb
Port=3306
Socket=/var/run/mysqld/mysqld.sock
option=3
EOF
On installer enfin freepbx :
cd /usr/src
wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-13.0-latest.tgz
tar vxfz freepbx-13.0-latest.tgz
rm -f freepbx-13.0-latest.tgz
cd freepbx
./start_asterisk start
./install -n
On peut maintenant se connecter à l’interface web de FreePBX grâce à son adresse IP
Configuration de FreePBX
Ajout d’un poste client :
Allez dans Applications puis postes.
Cliquez sur Quick extension. Choisissez le type de téléphone que vous souhaitez. Dans notre cas nous avons pris CHAN_SIP. On va alors attribuer un numéro de poste et un nom.