Luigi Rizzo l’unico commiters italiano di Asterisk ci ha gentilmente rilascito un intervista, dove ci spiega come si e’ avvicinato ad Asterisk e svelandoci qualche curiosità.

Dalla tua home page, leggiamo che lavori come professore per il Dipartimento di Ingegneria dell’Informazione dell’Università di Pisa, di cosa ti occupi quotidianamente, quali sono i tuoi campi di interesse ?

In linea di massima, di protocolli di rete e delle loro ripercussioni a livello di sistema operativo.

Come e quando ti sei avvicinato ad asterisk?

Da aprile 2005, mi ci sono avvicinato erche’ avevo necessita` di usare delle soluzioni voip e il sistema mi sembrava abbastanza interessante e soprattutto non dipendeva, per essere costruito, da decine di altri pacchetti software.

Oggi vi sono altre alternative piu o meno mature ad Asterisk, ne conosci qualcuna, se si cosa ne pensi ?

Non le conosco abbastanza per parlarne. all’epoca conoscevo solo
openh323 e roba simile. freeswitch, openpbx (mi pare) ed altri
sono usciti dopo.

Quanto tempo dedichi allo sviluppo di Asterisk ?

Molto variabile ovviamente, a seconda degli impegni di lavoro.

Dal bug tracker della digium si vedono tue patch riguardanti General e qualche applicazione, di cosa ti occupi in particolare, quali sono tuoi interessi in asterisk?

In generale, ripulire, ristrutturare e documentare il codice in modo da evitare o eliminare duplicazioni di funzionalita`, inconsistenze, algoritmi errati o inefficienti, e cosi` via. Tutti
errori che troppo spesso si fanno quando si sviluppano applicazioni scrivendo direttamente codice e magari copiando pezzi da varie parti, senza invece spendere un po’ di tempo a pensare il modo migliore di strutturare il sistema.

Questa carenza di ingegnerizzazione e’ dovuta ad “errori” passati, o dipende dal modello di sviluppo che sta adottando Asterisk? come coordinate il lavoro all’interno del team, digium che ruolo ha in tutto questo ?

Diciamo che riflette la giovanissima eta` degli sviluppatori e la velocita` con cui si e` sviluppato il mercato voip.

Lo chiedo perche’ sono stato iscritto per un po’ alla mailing list -dev, ma ho avuto l’impressione che esistesse un’altra lista dove i vari sviluppatori si coordinavano e progettavano il software…

Si mi sembra che preferiscano l’interazione via irc a quella per email. La velocita` del mezzo pero’ ha vantaggi e svantaggi.

Quali sono le parti di Asterisk che consideri mature e quali andrebbero riviste ?

L’architettura complessiva, con le varie interfacce per permettere a moduli, driver, applicazioni di comunicare, e` pensata abbastanza bene e, a parte un po’ di dettagli, sicuramente da salvare. Sotto il guscio, spesso c’e’ codice con tutti i problemi di cui sopra, ed e` su quelli che, insieme ad altri sviluppatori, mi sto concentrando.

In un intervista fatta di recente da Bruce Stewart di O’reilly a Minessale creatore di FreeSwitch (ed ex sviluppatore di Asterisk), nel spiegare perche ha creato un nuovo software, ha detto che Asterisk e’ pensato con un’architettura monolitica, e che sebbene supporti moduli esterni, le informazioni elaborate risiedono all’interno di una stessa entità (il processo principale di Asterisk), la maggioranza di questi non permette l’accesso ad applicazioni/tecnoligie esterne, e che al contrario asterisk reimplementa al suo interno le stesse tecnologie.
Cosa ne pensi di quest’affermazione? ( il testo originale dell’intervista lo puoi trovare qui [*1])

Minnessale si lamenta (e a ragione) del fatto che asterisk reimplementa un sacco di cose che sarebbero gia` disponibili come librerie esterne, ma che non puo` usare per via della doppia licenza GPL/commerciale che loro hanno. Qui per esempio si vede la fregatura della GPL - che impedisce a digium di integrare nella versione commerciale elementi GPL e di riflesso (per non dover mantenere una doppia distribuzione che in breve sarebbe divergente) di non integrare neanche nella versione GPL elementi che non abbiano la doppia licenza.
Partendo da una licenza BSD questo non sarebbe successo con beneficio di tutti.

Cosa ci prossimo aspettare dalle prossime versioni di Asterisk? Tu hai qualche progetto che intendi realizzare ?

Di esternamente visibile almeno da parte mia c’e’ poco. Sto lavorando per rendere il sistema molto piu` scalabile, e aggiungere una gestione corretta e sicura degli accessi concorrenti alle varie strutture dati.

SIP, IAX o ..? Hai delle preferenze ? se si perche ?

SIP fa comodo perche’ tutti gli apparati lo usano, e` un disastro farlo funzionare in presenza di NAT, e questo purtroppo e` un problema grosso per gli operatori. IAX per quel poco che lo conosco e` piu` robusto con i NAT e questa e` una gran cosa - in effetti dal mio laptop uso IAX invece che SIP proprio per questo motivo.

…che ne pensi di Jingle, come vedi l’interesse di Google per Asterisk, portera’ dei benefici - se non lo ha gia fatto - in che termini secondo te ?

non sono informato al riguardo.

[OT] Cosa ne pensi di skype ?

Sono contento che si sia affermato anche per introdurre la grande utenza alla telefonia su IP e rompere i monopoli.
Funziona quasi sempre e questa e` una gran cosa.
Peccato che il protocollo sia proprietario.
Peccato che ora ogni accessorio per PC che possa essere utilizzato per trasferire audio (dal cavo alla cuffietta) venga marcato ’skype compatible’ e riprezzato al rialzo.
Peccato che molti ‘telefoni IP’ che si trovano in giro oggi non sono altro che cuffiette con interfaccia USB.
Sul lungo termine questa roba sparira` (spero) dal mercato in favore di veri telefoni IP o voip adapter, ma nel frattempo nella gente si instillera` l’idea che per telefonare via internet ci vuole il pc.

Sempre dalla tua hp, si nota il tuo interesse per FreeBSD, anche se esula dall’argomento asterisk, come mai non GNU/Linux ?

All’epoca (94) il kernel di BSD era molto ben documentato, specie per la parte di rete che era quella che mi interessava per questioni di lavoro/ricerca. Poi c’e’ una questione di licenza — io trovo quella BSD molto piu` ragionevole per favorire la diffusione del software open source e raccogliere contributi anche professionali e non solo amatoriali.

Asterisk funziona anche su sistemi *BSD, credi vi possano essere dei vantaggi ad utilizzarlo su tali OS ?

Certo che funziona, magari con qualche baco in piu` e qualcuno in meno, per la maggioranza legato a differenze nel funzionamento dei thread, che sono difficili da usare bene e all’origine di una quantita` infinita di bachi nei software del giorno d’oggi.

Visto che asterisk e` principalmente sviluppato su Linux, probabilmente potendo scegliere vale la pena usare quest’ultimo invece di FreeBSD. Certo se uno ha gia` delle macchine con un altro sistema, poter sfruttare la portabilita` fa comodo.

Vuoi dirci qualcosa su di te e sul tuo background informatico ? Hobby? Vi o Emacs ? C, Python o… ? GPL o BSD ? :P

no :) tanto basta cercare su google…

Effettivamente se qualcosa non e’ stata indicizzata da google significa che non esiste :P

Quanti sviluppatori italiani vi sono nel team di asterisk? si lo so che c’e’ google :)

I committers in assoluto sono pochi, forse 20, credo di essere l’unico italiano. ma sono sicuro che c’e’ un sacco di gente che lavora in software house o provider e che scrive applicazioni o moduli per asterisk - di tanto in tanto sulle mailing list leggo messaggi tecnicamente assai “solidi” da mittenti chiaramente italiani.

Grazie ancora per la tua disponibilità e buone vacanze ormai…
ciao
luigi

This post has 3 comments.

  1. […] In realta il titolo doveva essere “Confcall Application For Asterisk 1.2 Released”, l’applicazione non e’ inclusa in Asterisk o Asterisk-addons, l’autore pero’ e’ di tutto rispetto, ovvero il creatore di FreeSwitch, ma anche uno dei maggiori contributori di Asterisk, infatti e’ ancora tra i piu “decorati” nalla hall of fame del bugtrack di digium (il numero 3), appena dopo Olle. e un gradino prima di Luigi Rizzo. […]

  2. mjfox
    12 Oct 07
    14:47

    Che dire sono fiero di essere stato suo allievo all’Università di Pisa.
    Personalmente al Bsd “puro” preferisco una soluzione commerciale (purtroppo chiusa in buona parte) ma “ready to go” come Mac Os X.
    Il limite di FreeBsd è la scarsa semplicità d’uso per l’utente medio che non sa cosa sia un makefile o non sa ricompilare i pacchetti.

  3. […] TLS per l’accesso alle AMI e HTTP, scritto tra l’altro dall’Italiano Luigi Rizzo (intervistato anche da noi tempo […]