FreeSWITCH è un motore di telecomunicazioni open source in grado di trasformare un normale server, persino un Raspberry Pi, in un centralino, in un ponte per conferenze o in una piattaforma di gestione delle chiamate. È stato annunciato nel gennaio 2006 da Anthony Minessale e da un piccolo gruppo deciso a dimostrare che il software poteva sostituire gli apparati di commutazione proprietari. Il codice è distribuito con Mozilla Public License, nella versione 1.1 secondo il file di licenza del repository.
Nel 2017 gli stessi sviluppatori hanno fondato SignalWire, oggi principale sponsor del progetto, che ne ospita il codice su GitHub. La versione 1.11.3, pubblicata il 28 agosto 2026, è indicata dal team come un aggiornamento di sicurezza da installare al più presto.
A cosa serve FreeSWITCH
Mentre Kamailio e OpenSIPS si limitano a smistare la segnalazione, FreeSWITCH gestisce le chiamate dall’inizio alla fine, voce e video compresi. Funziona come back-to-back user agent: ogni comunicazione termina sul server e viene poi riavviata verso la destinazione, il che gli permette di registrare, convertire da un codec all’altro, mixare più partecipanti, riprodurre messaggi e riconoscere i tasti premuti. Segreteria, code di attesa, menu vocali e conferenze rientrano nelle sue capacità.
L’architettura è modulare. Un nucleo gestisce sessioni e media, mentre i moduli aggiungono il resto: mod_sofia per SIP, mod_verto per il WebRTC dal browser, codec, connettori ai database e linguaggi di scripting. La logica delle chiamate si scrive in un dial plan XML o in script, e l’interfaccia Event Socket consente a un’applicazione esterna di comandare il server in tempo reale. Per questo è spesso alla base di centralini IP, software per contact center e servizi vocali programmabili. Nelle architetture di grandi dimensioni lo si colloca di solito dietro Kamailio o OpenSIPS, che assorbono le registrazioni e distribuiscono il carico tra più nodi FreeSWITCH dedicati ai media. Rispetto a Yate, altro motore completo, può contare su una comunità molto più ampia.
Il modello di distribuzione è cambiato negli ultimi anni ed è bene conoscerlo prima di installare. Il codice sorgente resta libero e gratuito. SignalWire però richiede ora un account, gratuito, per accedere ai pacchetti binari, e l’installazione da pacchetti su Debian passa da un token di accesso personale creato nello spazio SignalWire dell’utente. Accanto a questa edizione comunitaria, SignalWire vende FreeSWITCH Advantage, un’offerta a pagamento da ospitare in proprio. Comprende moduli commerciali come il codec G.729A e il rilevamento delle segreterie, l’accesso alle versioni di FreeSWITCH Enterprise pubblicate in un repository privato e l’assistenza del team fondatore. Secondo le FAQ di SignalWire, l’edizione comunitaria non ha supporto ufficiale e riceve gli aggiornamenti più lentamente.
Per chi è?
FreeSWITCH è adatto a operatori e integratori che costruiscono servizi vocali, a chi sviluppa software per contact center, alle aziende che vogliono un centralino su misura e agli sviluppatori in cerca di un motore media controllabile via codice. Poiché gira anche su hardware modesto, è pure un ottimo terreno di studio.
Manca un’interfaccia grafica di amministrazione: tutto si imposta in file XML che possono diventare voluminosi, e la curva di apprendimento è concreta. L’elaborazione dei media richiede molta CPU, soprattutto con transcodifica e video, per cui è meno indicato di Kamailio per reggere da solo enormi volumi di segnalazione. Infine, l’obbligo di un account SignalWire per i pacchetti e l’assenza di supporto ufficiale per l’edizione gratuita possono frenare un’organizzazione priva di competenze interne.
Scaricare FreeSWITCH in sicurezza
Il codice ufficiale si trova su GitHub, nel repository signalwire/freeswitch, e la documentazione su developer.signalwire.com. Su Linux il metodo consigliato è lo script fsget, che configura il repository dei pacchetti Debian, Raspberry Pi incluso, tramite il token personale. Debian 11 non è più supportato dalla versione 1.11.3, e la compilazione dai sorgenti non richiede alcun token. Per Windows ogni versione include un installer MSI a 64 bit di circa 161 MB, disponibile nella pagina delle release su GitHub. macOS non ha pacchetti ufficiali e richiede la compilazione.
L’edizione comunitaria è gratuita, così come l’account SignalWire necessario per i pacchetti. FreeSWITCH Advantage è venduto su preventivo, senza listino pubblico. Il token personale dà accesso al proprio account, quindi non va mai incollato in uno script trovato su un forum, e vanno evitati i siti che offrono installer per Windows ospitati fuori da GitHub o pacchetti pronti a pagamento.
Domande frequenti
FreeSWITCH è ancora gratuito?
Sì. Il codice resta pubblicato con licenza MPL e può essere usato in produzione senza costi. Serve solo un account SignalWire gratuito per scaricare i pacchetti Linux, mentre l’offerta a pagamento FreeSWITCH Advantage aggiunge moduli commerciali e assistenza.
Che differenza c’è tra FreeSWITCH e Kamailio?
FreeSWITCH elabora i media: registra, transcodifica, mixa e riproduce messaggi. Kamailio si occupa soltanto della segnalazione SIP, ma con una capacità molto superiore in quel ruolo. I due vengono spesso installati insieme.
Serve un account SignalWire per compilare FreeSWITCH?
No. La documentazione precisa che la compilazione dal repository GitHub non richiede alcun token. L’account serve solo per i pacchetti binari installati con fsget.