On propose ici un exercice d'installation et de configuration d'un IP-PBX avec Astersik/FreePBX dans le but d'illustrer le déploiement VoIP dans une PME. Plus il y a d'utilisateurs et de périphériques, plus le lab est représentatif.
Source : https://en.wikipedia.org/wiki/FreePBX
FreePBX est un GUI basé Web qui gère le serveur de téléphonie Asterisk. FreePBX est sous licence GNU General Public License version 3.
FreePBX a été acquis par Schmooze.com au début 2013 qui a été acquis par Sangoma Technologies Corporation au début 2015.
FreePBX peut être exploité :
PBX IP graphique complet et à usage avancé.
Source : https://wiki.asterisk.org/wiki/display/AST/Installing+AsteriskNOW
Télécharger le fichier AsteriskNOW-612-current-64.iso
sur http://www.asterisk.org/downloads/asterisknow.
Le choix se porte aujourd'hui sur une installation standard de FreePBX 6.12.65 avec Asterisk 13.
Après redémarrage,
Sur un autre ordinateur, aller à l'adresse http du serveur PBX.
Remplir le formulaire de création de compte admin
Le menu principal offre quatre options
1- **FreePBX Administration **
2- **User Control Panel **
3- **Operator Panel **
4- **Get Support **
http://wiki.freepbx.org/display/PPS/FreePBX+Distro+First+Steps+After+Installation
http://wiki.freepbx.org/display/FPG/Standard+Modules
Mise à jour des modules
Installation de nouveaux modules :
Languages (voir plus haut)
Paramètres avancés et paramètres SIP
http://wiki.freepbx.org/display/FPG/Advanced+Settings
http://wiki.freepbx.org/display/FPG/Asterisk+SIP+Settings et http://wiki.freepbx.org/display/FPG/NAT+Configuration+FreePBX+12
Changer éventuellement "Strong Passwords"
Softphones SIP/IAX
Matériel VoIP
Nomenclature des numéros internes
Nom de serveur | Extensions |
pbx01 | 2101, 2102, 2103, 2104 |
pbx02 | 2201, 2202, 2203, 2204 |
pbx03 | 2301, 2302, 2303, 2304 |
pbx04 | 2401, 2402, 2403, 2404 |
pbx05 | 2501, 2502, 2503, 2504 |
pbx06 | 2601, 2602, 2603, 2604 |
pbx07 | 2701, 2702, 2703, 2704 |
pbx08 | 2801, 2802, 2803, 2804 |
pbx09 | 2901, 2902, 2903, 2904 |
pbx0a | 3001, 3002, 3003, 3004 |
pbx0b | 3101, 3102, 3103, 3104 |
pbx0c | 3201, 3202, 3203, 3204 |
pbx0d | 3301, 3302, 3303,3304 |
http://wiki.freepbx.org/display/F2/Extensions+Module+-+SIP+Extension
Numéros de téléphone en format 322XXXXXXX
https://www.anveo.com/faq.asp?code=sip_freepbx
type=friend host=sip.de.anveo.com port=5010 username=ACCOUNT_NUMBER secret=SIP_PASSWORD insecure=port,invite disallow=all allow=ulaw context=from-trunk
ACCOUNT_NUMBER:SIP_PASSWORD@sip.de.anveo.com:5010
Pour les numéros fixes et cellulaires :
0XXXXXXXX 0XXXXXXXXX
Par numéro de téléphone routé sur le PBX :
A partir de la version 13, de FreePBX, un module se charge des fichiers de langues nécessaires.
Version FreePBX 13 minimum.
Avec les versions précédentes, 12 et inférieures, il sera nécessaire de placer soi-même les fichiers de langues FR au bon endroit.
On devrait trouver au minimum dans le dossier /var/lib/asterisk/sounds/fr
le contenu décompressé des fichiers suivants :
Plusieurs méthodes sont envisageables pour placer ces fichiers sur le PBX. Le plus facile est de se connecter sur la console du PBX et d'exécuter le script disponible à cette adresse https://gist.github.com/goffinet/7835fb38aa1ce29544acc079ecfdbe6d.
Soit, on peut l'exécuter directement dans la console Linux :
# wget -qO- https://gist.githubusercontent.com/goffinet/7835fb38aa1ce29544acc079ecfdbe6d/raw/55513cb8ac796ee8abb3ab133d3b397c619a4f31/astpbx_fr.sh | sh
Source du script :
#!/bin/sh ##1. Dans le GUI : ##Modules Administration/Download and install Languages/Apply Config ##Asterisk SIP Settings/Advanced General Settings/Language = fr/Apply config ##2. En console : ##amportal restart ##3. Téléchargement des fichiers REP=http://downloads.asterisk.org/pub/telephony/sounds DIR=/var/lib/asterisk/sounds/fr mkdir $DIR cd $DIR wget $REP/asterisk-core-sounds-fr-alaw-current.tar.gz wget $REP/asterisk-extra-sounds-fr-alaw-current.tar.gz wget $REP/asterisk-moh-opsound-alaw-current.tar.gz gunzip *.gz tar xfv asterisk-core-sounds-fr-alaw-current.tar tar xfv asterisk-extra-sounds-fr-alaw-current.tar tar xfv asterisk-moh-opsound-alaw-current.tar rm asterisk-*
Ensuite, on pourra définir la langue par défaut ou la langue des utilisateurs
Modules Administration/Download and install Languages/Apply Config
Asterisk SIP Settings/Advanced General Settings/Language = fr/Apply
Au minimum, on se souciera de la livraison du courrier élctronique (messages vocaux).
Sous Debian/Ubuntu :
# apt-get remove exim4 # apt-get install postfix
Choisir installation satellite ou Internet smarhost : serveur SMTP par exemple, smtp.colt.net, relay.skynet.be
Par exemple sous Centos 6 (AsteriskNow), une installation de type smarthost (relay SMTP) :
# echo "relayhost = smtp.colt.net" >> /etc/postfix/main.cf # service postfix reload
On ira consulter la documentation officielle pour la configuration des boîtes vocales.
http://wiki.freepbx.org/display/F2/Voicemail
Admin / Feature Codes
http://wiki.freepbx.org/display/F2/System+Recordings+Module
http://wiki.freepbx.org/display/F2/IVR+Module
Inter-Asterisk eXchange (IAX) est un protocole de couche application natif au logiciel PBX. Il est supporté par quelques autres produits de type systèmes PBX ou téléphones orientés OSS. Le protocole existe aujourd'hui dans sa version 2 et a été formalisé en 2010 dans le RFC 5456 de type informational (non-standards-track). Il remplit aussi bien les fonctions de signalisation que de transport des medias (voix/vidéo). Il utilise un seul port UDP 4569.
IAX remplit les objectifs suivants :
La documentation ci-dessous suggère une solution fonctionnelle à travers les pare-feux de connexion entre deux PBX distants. Les adresses IP publiques des systèmes téléphoniques doivent être connus.
http://wiki.freepbx.org/pages/viewpage.action?pageId=4161588
Activité sous Windows
Capture et crack de mot de passe SIP.
Mise en place d’une Attaque MitM ARP Poison Routing entre un PBX et deux téléphones.
Capture et reconstitution d’un appel.
Dans AsteriskNow, on peut constater que prison "pbx-gui" vérifie les logs de sécurité d'Asterisk (/var/log/asterisk/freepbx_security.log
)
# fail2ban-client status Status |- Number of jail: 7 `- Jail list: apache-tcpwrapper, recidive, pbx-gui, apache-badbots, ssh-iptab