O’Reilly Network ha pubblicato un’interessante intervista a Anthony Minessale, creatore e lead developer del progetto FreeSwitch.
Nell’intervista Minessale spiega perchè ha creato FreeSWITCH, cosa lo differenzia da Asterisk e cosa possiamo aspettarci dal progetto nel prossimo futuro.
Segue un estratto dell’intervista di Bruce Stewart ad Anthony Minessale.
Stewart: Ciao Anthony, partiamo dall’inizio. Cos’è FreeSWITCH?
Minessale: FreeSWITCH è la mia ultima fatica. E’ un soft-switch open source creato con obiettivi di stabilità, scalabilità e astrazione tali da fornire un set di funzionalità completo, cercando allo stesso tempo di minimizzarne la complessità.
Stewart: Da quanto tempo programmi e come è nato il tuo interesse per le comunicazioni IP?
Minessale: Sono all’incirca 15 anni che programmo.
Ho iniziato nell’industria del web hosting verso la metà degli anni 90 dove ho impiegato parecchi anni sviluppando una piattaforma unificata per il web hosting; piattaforma che è stata successivamente estesa, prima per la gestione degli account dialup, e poi per la gestione della telefonia.
Sono entrato nel settore delle comunicazioni quando abbiamo deciso di creare un call center per i nostri agenti e ci siamo rivolti ad Asterisk. Ho scoperto ben presto che non sarebbe stata un’impresa facile. Ho speso quasi due anni ad acquisire nozioni di programmazione nell’ambito della telefonia per riuscire ad adattare Asterisk alle nostre esigenze. Nel frattempo ho anche avviato Asterlink che è basato in gran parte sui miei tentativi di migliorare Asterisk. Ho quindi deciso di provare a creare una nuova piattaforma per supportare i nostri progetti futuri, da quì è nato FreeSWITCH.
Stewart: In cosa FreeSWITCH differisce da Asterisk? Perchè hai deciso di iniziare questo progetto invece di continuare a sviluppare Asterisk?
Minessale: La più grande differenza tra i due, a parte il fatto che Asterisk è un PBX e FreeSWITCH è un soft-switch, è l’architettura. Asterisk è stato pensato con un’architettura monolitica, intendo che tutta l’elaborazione, l’interfaccia utente e le informazioni elaborate risiedono all’interno di una stessa entità (il processo principale di Asterisk). Nonostante il fatto che Asterisk supporti moduli esterni, la maggioranza di questi non permette l’accesso ad applicazioni/tecnologie esterne, ma invece altro non sono che l’implementazione di queste stesse tecnologie all’interno di Asterisk. Inoltre Asterisk presta molta attenzione al numero di thread in esecuzione concorrente, e cerca in tutti i modi di ridurne il numero. Alcune modifiche sono state apportate per far funzionare Asterisk in alcune varianti di Unix, ma non ci sono impegni ufficiali per supportare un qualche cosa di diverso da Linux e GCC. Poichè Asterisk pensa di doversi concentrare nelle chiamate verso PSTN, supporta esclusivamente audio con una frequenza di campionamento a 8 kilohertz, la frequenza della maggior parte dei circuiti telefonici. Rispetto queste decisioni, ma essendo in disaccordo con alcune di queste ho scelto di creare una nuova applicazione.
L’architettura di FreeSWITCH ha un approccio completamente diverso. La release iniziale del codice già includeva il supporto a differenti frequenze di campionamento con la possibilità di mettere in comunicazione chiamate con frequenze diverse, tutto in tempo reale. L’utilizzo di codice portabile e cross-platform è sempre stata in cima alla lista dei requisiti, e questo ha permesso di supportare Windows, Mac OS X e varie versioni di Linux su una vasta gamma di processori, sia a 32 che a 64 bit.
L’accesso a fonti di dati esterne e la capacità di operare in cluster sono state pianificate sin dal primo giorno, e l’interfaccia dei moduli è pensata per fornire l’accesso alle librerie già esistenti.
FreeSWITCH mira quindi a creare un piattaforma in cui combinare tra loro le tecnologie, laddove Asterisk punta ad implementarle al suo interno.
A parte il fatto che ho contribuito con una buona lista di funzionalità ad Asterisk, spesso era più difficile aggirare i problemi derivanti dalle scelte “politiche” che non quelli derivanti dalle mancanze del design originale. Ho creato FreeSWITCH dal nulla in un terzo del tempo che avevo precedentemente impiegato per aggiungere semplicemente delle funzionalità ad un Asterisk già pienamente funzionante.
L’intervista completa, in inglese, può essere letta a questo indirizzo.
This post has no comment.