FreePBX: guida all'installazione e configurazione base
Come installare FreePBX su un server Linux e configurare un centralino VoIP funzionante in poche ore.
FreePBX è una delle soluzioni open source più diffuse per gestire un centralino VoIP in azienda o in ambienti home office. Si installa su Asterisk, il motore di telefonia su cui si basa, e offre un'interfaccia web per gestire interni, trunk SIP, piani di numerazione e molto altro — senza toccare file di configurazione a mano.
Cosa serve prima di iniziare
- Un server Linux dedicato (fisico o VM): consigliato Ubuntu 22.04 LTS o la ISO FreePBX Distro ufficiale
- Almeno 2 GB di RAM, 20 GB di spazio disco
- Un trunk SIP attivo (linea VoIP dal tuo operatore) o numeri SIP di test
- Accesso root al server
Se vuoi partire in modo più veloce, la FreePBX Distro è una ISO preconfigurata che include Asterisk, il web panel e tutti i moduli base già installati — scaricabile da sangoma.com.
Installazione su Ubuntu 22.04
Se preferisci usare Ubuntu invece della distro dedicata, segui questi passaggi:
# Installa le dipendenze
sudo apt update && sudo apt install -y git wget curl sox ffmpeg lame unixodbc odbcinst mariadb-server apache2 php8.1 libapache2-mod-php8.1 php8.1-{curl,cli,pdo,mysql,gd,mbstring,xml,zip}
# Scarica e installa Asterisk (esempio con la versione 20)
cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-20-current.tar.gz
tar xzf asterisk-20-current.tar.gz
cd asterisk-20*
./configure --libdir=/usr/lib64
make menuselect # seleziona i codec necessari
make && make install && make samples
# Installa FreePBX
cd /usr/src
wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-17.0-latest.tgz
tar xzf freepbx-17.0-latest.tgz
cd freepbx
./install -n
La procedura richiede 20-40 minuti. Al termine, l'interfaccia web è raggiungibile su http://IP-SERVER/admin.
Prima configurazione dal pannello web
1. Configurare un trunk SIP
Il trunk è la "linea" che collega il tuo centralino all'operatore VoIP (o al mondo PSTN tramite SIP). Vai su Connectivity → Trunks → Add Trunk → Add SIP (chan_pjsip) Trunk.
I parametri essenziali:
- Trunk Name: un nome descrittivo (es.
VelixSIP) - Username: fornito dall'operatore
- Secret: la password SIP
- SIP Server: indirizzo del proxy SIP dell'operatore
- From Domain: il dominio SIP o l'IP del proxy
In Outbound CallerID inserisci il numero DDI associato al trunk.
2. Creare gli interni (Extensions)
Vai su Applications → Extensions → Add Extension → Add New SIP [PJSIP] Extension.
Per ogni interno configura:
- User Extension: il numero interno (es. 101, 102)
- Display Name: nome dell'utente
- Secret: password per il softphone o l'IP phone
Ripeti per quanti interni hai bisogno. Gli utenti si connettono con qualsiasi client SIP (Zoiper, MicroSIP, Grandstream) usando IP del server, numero interno e password.
3. Piano di numerazione in uscita (Outbound Routes)
Per permettere le chiamate verso l'esterno, vai su Connectivity → Outbound Routes → Add Outbound Route.
- Route Name: es.
Uscita_Nazionale - Trunk Sequence: seleziona il trunk SIP creato prima
- Dial Patterns: definisci quali numeri vengono instradati su questo trunk. Per l'Italia:
- 0|. — numeri fissi nazionali (prefisso 0 seguito da qualsiasi cifra)
- 3|. — cellulari (prefisso 3)
- 00|. — internazionali
4. Ricezione chiamate (Inbound Routes)
Vai su Connectivity → Inbound Routes → Add Incoming Route.
- DID Number: il numero DDI del trunk (quello che i clienti chiamano)
- Destination: dove mandare la chiamata in arrivo (un interno, un IVR, una coda)
Per un setup base, punta direttamente a un interno. Per qualcosa di più strutturato, crea prima un IVR (menu vocale) o una Queue (coda con agenti).
Moduli utili da installare subito
Dal Module Admin (Admin → Module Admin → Check Online), installa:
- Voicemail — segreteria per ogni interno
- IVR — menu vocale automatico ("Per il supporto premi 1, per...")
- Ring Groups — squillo simultaneo su più interni
- Time Conditions — gestione orari (aperto/chiuso)
- Queues — code per call center
- Recordings — registrazione chiamate (attenzione agli obblighi GDPR)
Codec e qualità audio
In Settings → Asterisk SIP Settings, nella sezione codec, assicurati di avere abilitato (in ordine di priorità):
- ulaw/alaw (G.711) — qualità base, massima compatibilità, banda ~64 kbps per chiamata
- G.722 — wideband, qualità HD, circa 64 kbps
- G.729 — compressione spinta (~8 kbps), utile se la banda è limitata ma richiede licenza
Per reti locali con banda abbondante, usa G.722. Per trunk verso l'esterno, alaw (G.711a) è lo standard europeo.
Firewall e sicurezza
FreePBX esposto su Internet è un target comune per attacchi brute force sui trunk SIP. Configurazioni minime obbligatorie:
- Fail2Ban è incluso nella distro ufficiale — verificare che sia attivo con
systemctl status fail2ban - Limita l'accesso al pannello web (porta 80/443) solo agli IP autorizzati via firewall
- Usa password SIP complesse (almeno 16 caratteri, misto alfanumerico)
- Abilita SIP TLS + SRTP per cifrare le chiamate (in Settings → Asterisk SIP Settings → SIP Settings [TLS])
Un trunk compromesso può generare bollette VoIP enormi in poche ore — non trascurare questo aspetto.
Conclusione
Con un trunk SIP attivo e questa configurazione base, hai un centralino VoIP funzionante. FreePBX scala bene: le stesse procedure si applicano sia a un ufficio con 5 interni sia a una struttura con decine di linee e un call center. I moduli commerciali Sangoma (come il modulo Fax o il CRM connector) sono opzionali e a pagamento — tutto il necessario per uso standard è open source e gratuito.
Vuoi portare Velix a casa tua?
Verifica la copertura FTTH al tuo indirizzo in 30 secondi. Gratis, senza impegno.
Verifica copertura →