📞 Telefonia & VoIP

FreePBX: guida all'installazione e configurazione base

Come installare FreePBX su un server Linux e configurare un centralino VoIP funzionante in poche ore.

Redazione Velix22 maggio 20268 min di lettura
📞

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 →