Logo
JcMamiah
Formations · Systèmes & Réseaux
Formateur
FormateurJean Christophe Mamiah
Partie 2 · 2h30 · FreePBX · Équipement réel

TP — Déploiement FreePBX
sur équipement réel

Par groupes, créez une VM FreePBX, configurez votre IPBX via l'interface web, créez les extensions SIP 101/102/103 et enregistrez vos téléphones IP physiques (Yealink, Cisco, Grandstream).

⏱ 2h30 · 6 étapes · FreePBX 17 · chan_pjsip
👥 Organisation des groupes

Répartition de la classe

Chaque groupe dispose d'une VM FreePBX indépendante, d'un switch, d'un ou plusieurs téléphones IP physiques, et d'un routeur d'accès au réseau local.

🔵

Groupe 1

3 à 4 étudiants — VM FreePBX indépendante — réseau 192.168.10.0/24

Extensions 101–103
🟠

Groupe 2

3 à 4 étudiants — VM FreePBX indépendante — réseau 192.168.20.0/24

Extensions 201–203
🟢

Groupe 3 (optionnel)

3 à 4 étudiants — VM FreePBX indépendante — réseau 192.168.30.0/24

Extensions 301–303
💡
Appels inter-groupes : En fin de TP, le formateur peut configurer un trunk SIP entre les VMs pour permettre aux groupes de s'appeler mutuellement. C'est l'objectif bonus de la séance !
🏗️ Matériel par groupe

Équipements physiques

Chaque groupe utilise du matériel réel. FreePBX tourne dans une VM sur le PC du formateur ou sur un poste dédié.

🖥️

VM FreePBX 17

IPBX open-source basé sur AlmaLinux/Debian. Interface web d'administration. Gère les extensions SIP, les trunks, les règles de routage d'appels.

VirtualBox / VMware
🔀

Switch administrable

Connecte la VM FreePBX et les téléphones IP sur le même réseau local. Un VLAN voix peut être configuré (séance 3). Alimentation PoE pour les téléphones.

Cisco / HP / Netgear
📞

Téléphones IP physiques

Téléphones multi-marques : Yealink T4x, Cisco 7941/8841, Grandstream GXP. Protocole SIP (chan_pjsip). Alimentation PoE ou adaptateur secteur.

SIP / chan_pjsip
📐 Topologie réseau — par groupe
🖥️
VM FreePBX
192.168.X.10
:5060 SIP
🔀
Switch PoE
VLAN 1 (voix)
Fa0/1–Fa0/4
📞
Téléphone 101
DHCP → .101
📞
Téléphone 102
DHCP → .102
📞
Téléphone 103
DHCP → .103

📊 Progression du TP

0 étape complétée sur 6
🚀 Étapes du TP

Procédure pas à pas

Suivez les étapes dans l'ordre. Chaque étape peut être marquée comme terminée pour suivre votre progression.

1

Création de la VM FreePBX

VirtualBox / VMware · ~20 min
✓ Terminé

Créez une machine virtuelle optimisée pour FreePBX. Un étudiant par groupe s'occupe de la création, les autres vérifient les paramètres.

2 vCPU
Processeur
🧠
2 GB
RAM
💾
20 GB
Disque
🌐
Bridged
Réseau
1
Ouvrir VirtualBox → Nouvelle machine → Nom : FreePBX-Groupe1
2
Type : Linux — Version : Red Hat (64-bit) ou Debian (64-bit) selon l'ISO choisi
3
RAM : 2048 Mo minimum — Disque dur : 20 Go (VDI, allocation dynamique)
4
Réseau : Mode Pont (Bridged) sur l'interface physique connectée au switch du groupe
5
Lecteur optique : Monter l'ISO FreePBX 17 fourni par le formateur
🍊
Méthode ISO recommandée : L'ISO FreePBX 17 installe automatiquement AlmaLinux + Asterisk + FreePBX en une seule passe. C'est la méthode la plus rapide pour le TP.
VM créée avec 2 vCPU / 2 Go RAM / 20 Go disque
Réseau en mode pont sur le bon adaptateur
ISO FreePBX 17 monté dans le lecteur virtuel
2

Installation de FreePBX 17

ISO AlmaLinux · ~30 min
✓ Terminé

L'installateur FreePBX guide l'installation de façon graphique. Suivez les étapes dans l'ordre exact.

1
Démarrer la VM → l'ISO boot automatiquement sur le menu GRUB FreePBX
2
Sélectionner "FreePBX 17 Standard" (ou SNG7 selon la version)
3
Langue : English (US) — Clavier : French (FR) si disponible, sinon US
4
Disque : sélectionner le disque virtuel de 20 Go — cliquer "Done"
5
Mot de passe root : saisir FreePBX2024! (à noter sur votre feuille de groupe)
6
Cliquer "Begin Installation" et attendre (~15-20 min) — profitez-en pour relire la théorie
7
Après redémarrage, l'IP de la VM s'affiche sur la console. Noter cette IP !
⚠️
Réseau DHCP : FreePBX reçoit automatiquement une IP via DHCP. Si votre réseau n'a pas de DHCP, configurez une IP statique après l'installation via nmtui.
🖥️ Console VM — Vérifier l'IP après install
# Sur la console de la VM (après reboot)
root@freepbx ~# ip addr show
# Repérer l'interface eth0 ou enp0s3
# Exemple : inet 192.168.1.10/24

root@freepbx ~# ping 8.8.8.8
# Vérifier la connectivité réseau
FreePBX installé et VM redémarrée correctement
IP de la VM notée sur la feuille de groupe
Ping vers Internet fonctionnel depuis la VM
3

Configuration initiale via l'interface web

Navigateur → http://[IP-VM] · ~15 min
✓ Terminé

FreePBX s'administre entièrement via un navigateur web. Depuis un PC du groupe connecté au même switch, ouvrez l'interface d'administration.

1
Ouvrir un navigateur sur le PC du groupe → aller à http://192.168.X.10 (IP de votre VM)
2
Page d'accueil FreePBX → cliquer "FreePBX Administration"
3
Créer le compte admin : username admin, choisir un mot de passe fort, e-mail optionnel → cliquer "Create Account"
4
Se connecter avec les identifiants créés → vous arrivez sur le dashboard FreePBX
5
Aller dans Admin → System Identity → donner un nom au serveur : IPBX-Groupe1
6
Aller dans Settings → Advanced Settings → vérifier que le protocole SIP Channel Driver est sur chan_pjsip
💡
chan_pjsip vs chan_sip : chan_pjsip est le driver SIP moderne d'Asterisk. Il remplace l'ancien chan_sip, supporte IPv6, TLS/SRTP, et gère mieux les téléphones NAT. FreePBX 17 l'utilise par défaut.
🍊
Port HTTP : Si le port 80 est bloqué, essayez http://[IP]:8080. L'interface admin est aussi accessible sur http://[IP]/admin.
Interface web FreePBX accessible depuis le navigateur
Compte admin créé et connexion réussie
Nom du serveur configuré (IPBX-Groupe1/2/3)
chan_pjsip confirmé comme driver SIP actif
4

Création des extensions SIP

Applications → Extensions · ~20 min
✓ Terminé

Créez une extension par téléphone IP du groupe. Chaque étudiant crée sa propre extension pendant que les autres observent.

ExtensionNom affichéSecret SIPAttribution
101Étudiant Aetud101passTéléphone 1 du groupe
102Étudiant Betud102passTéléphone 2 du groupe
103Étudiant Cetud103passTéléphone 3 du groupe
📌
Pour le groupe 2, utilisez les extensions 201/202/203. Pour le groupe 3 : 301/302/303.
1
Dans FreePBX : Applications → Extensions → Add Extension
2
Sélectionner "Add New chan_pjsip Extension" (ne pas choisir chan_sip)
3
Remplir : User Extension : 101Display Name : prénom de l'étudiant
4
Dans l'onglet "Advanced"Secret : saisir le mot de passe SIP (ex. etud101pass)
5
Cliquer "Submit" puis en haut de page "Apply Config" (bouton orange — OBLIGATOIRE)
6
Répéter pour les extensions 102 et 103
⚠️
Apply Config obligatoire ! Toute modification dans FreePBX nécessite de cliquer "Apply Config" (le bouton orange en haut). Sans ça, les changements ne sont pas appliqués à Asterisk.
🖥️ Vérification depuis la console VM
# Depuis la console FreePBX (SSH ou terminal VM)
root@freepbx ~# asterisk -rvvv

# Dans la CLI Asterisk :
freepbx*CLI> pjsip show endpoints
# Doit lister : 101, 102, 103 avec statut "Not in use"

freepbx*CLI> pjsip show endpoint 101
# Détail complet de l'endpoint 101

freepbx*CLI> exit
Extension 101 créée (chan_pjsip) avec secret
Extension 102 créée (chan_pjsip) avec secret
Extension 103 créée (chan_pjsip) avec secret
Apply Config cliqué — 3 endpoints visibles dans Asterisk
5

Configuration des téléphones IP

Yealink / Cisco / Grandstream · ~25 min
✓ Terminé

Chaque téléphone IP doit être configuré avec l'IP du serveur FreePBX, le numéro d'extension et le secret SIP. La procédure varie selon la marque.

📞 Yealink T4x
📞 Cisco 7941/8841
📞 Grandstream GXP
⚠️
Cisco 7941 : ce modèle utilise par défaut SCCP (Skinny). Pour SIP, il faut flasher le firmware SIP. Si le firmware SIP est déjà installé, suivez la procédure ci-dessous.
1
Trouver l'IP : appuyer sur le bouton "i" (information) → Status → Network Configuration
2
Ouvrir http://[IP-téléphone] — les Cisco 7941 SIP ont une interface web limitée. Préférer la configuration par fichier XML TFTP.
3
Alternative : utiliser FreePBX EPM (End Point Manager) pour pousser la configuration automatiquement
📄 SIP config pour Cisco 79xx (XML TFTP)
<!-- Fichier SIPDefault.cnf ou SEP[MAC].cnf -->
<device>
  <line1_name>101</line1_name>
  <line1_displayname>Etudiant A</line1_displayname>
  <line1_authname>101</line1_authname>
  <line1_password>etud101pass</line1_password>
  <proxy1_address>192.168.X.10</proxy1_address>
  <proxy1_port>5060</proxy1_port>
</device>
💡
Cisco 8841 : ce modèle supporte nativement SIP. Interface web accessible sur https://[IP] — login admin/admin ou Cisco/Cisco selon le firmware.
1
Trouver l'IP : appuyer sur le bouton Round → Status → Network Status → IPv4 Address
2
Ouvrir http://[IP-téléphone] → login : admin / admin
3
Aller dans Accounts → Account 1
4
Remplir les champs et cliquer Save and Apply
📞 Grandstream GXP — Account 1
Account Active    : Yes
Account Name      : 101
SIP Server        : 192.168.X.10   ← IP VM FreePBX
SIP User ID       : 101
Authenticate ID   : 101
Authenticate Pwd  : etud101pass
Name              : Etudiant A
Voice Mail UserID : *97
Le Grandstream affiche "101 Registered" sur l'écran LCD après quelques secondes. Si ce n'est pas le cas, vérifier que l'IP du serveur SIP est correcte.
Téléphone 1 (ext. 101) enregistré sur FreePBX
Téléphone 2 (ext. 102) enregistré sur FreePBX
Téléphone 3 (ext. 103) enregistré sur FreePBX
Les 3 extensions visibles "Available" dans le dashboard FreePBX
6

Tests d'appels et vérification

Appels internes + logs Asterisk · ~15 min
✓ Terminé

Vérifiez que les appels internes fonctionnent entre les extensions du groupe, puis testez les appels vers les autres groupes si le trunk inter-groupes est configuré.

1
Test 101 → 102 : Décrocher le téléphone 101, composer 102, le téléphone 102 doit sonner
2
Test 102 → 103 : Même procédure — vérifier que l'afficheur du téléphone appelé montre le bon nom
3
Écouter les logs en live sur la console FreePBX pendant les appels
4
Vérifier dans le CDR : FreePBX → Reports → Asterisk Logfiles → CDR Reports — chaque appel doit apparaître
5
Test écho : composer le *43 depuis n'importe quel téléphone pour tester la qualité audio
🖥️ Logs en temps réel (CLI Asterisk)
root@freepbx ~# asterisk -rvvvv

# Pendant l'appel 101 → 102, vous verrez :
  -- Executing [102@from-internal:1] Dial(PJSIP/102,20)
  -- Called PJSIP/102
  -- PJSIP/102 is ringing
  -- PJSIP/102 answered PJSIP/101

# Vérifier les enregistrements actifs :
freepbx*CLI> pjsip show registrations

# Voir les canaux actifs pendant un appel :
freepbx*CLI> core show channels
🎉
Félicitations ! Si les appels fonctionnent, vous avez déployé un IPBX professionnel FreePBX avec des téléphones IP réels — exactement comme en entreprise.
🏆
Objectif bonus : Demandez au formateur de configurer un trunk SIP entre votre VM et celle du groupe voisin. Vous pourrez appeler le groupe 2 en composant 201 depuis le groupe 1 !
Appel 101 → 102 réussi, audio bidirectionnel OK
Appel 102 → 103 réussi
Test écho *43 : qualité audio correcte
CDR Report : les appels apparaissent dans les logs
BONUS : appel inter-groupes réussi