Archive for category Software Libero

Asterisk non va senza ADSL, soluzione

È un problema noto che Asterisk smette di funzionare e di permettere le chiamate anche tra telefoni interni, quando l’ADSL non va o in generale non funziona il DNS. Provate infatti a cercare con google “asterisk DNS problem” o “asterisk adsl non va”, o cose simili e avrete decine di link a persone che si sono scontrate con questo problema.

Il problema sta nel fatto che chan_sip si arrabbia, se non può contattare il DNS e si blocca. Nell’attesa, già alquanto lunga, che sistemino la cosa direttamente in asterisk, bisogna trovare una soluzione temporanea.

Generalmente si consiglia di installare un DNS server che faccia da cache come dnsmasq, ma questo non basta perché dnsmasq non fa il caching delle query SRV _sip. Altri quindi consigliano di impostare
su sip.conf srvlookup=no, il che però non risolve sempre il problema e comunque non è consigliabile.

La soluzione completa è usare si un DNS cache server, ma che sia in grado di fare il caching anche delle query SRV. A tal proposito io ho risolto usando pdnsd.

Ora Asterisk continua a funzionare, anche quando l’ADSL o il DNS cade.

, ,

2 Comments

Pacchetto Debian per target su host

Uso il blog spesso per tenere traccia di cose che continuo a dimenticare, tanto lo devo leggere solo io. Ecco che mi ritrovo a scrivere di cose che non frega a nessuno.

Il mio problema di oggi era: come creo un pacchetto debian per una architettura TARGET non nota, su una macchina HOST di architettura nota (ex. i386)? In una situazione “normale” dh_gencontrol o dh_buildpackage si rifiutano di completare il loro lavoro, se nel campo Architecture: del file control non c’è l’architettura HOST (a meno che non sia specificato all).

Nel mio caso volevo creare su una macchina i386, un pacchetto per un altra architettura, tra l’altro non presente in Debian: non i386, amd64, sparc, arm, etc.; chiamiamola ‘xyz’.

La cross-compilazione è facile (sapendo come la si fa) e questa infatti andava a buon fine. Non riuscivo però a ottenere la pacchettizzazione per l’architettura xyz. La soluzione qual è?

   DEB_HOST_ARCH=xyz fakeroot debian/rules binary

In pratica la variabile DEB_HOST_ARCH, rende tutto il processo trasparente e alla fine mi crea il mio bel pacchetto_xyz.deb, anziché il consueto pacchetto_i386.deb.

Se non avete capito niente, pazienza, tanto questo è un reminder solo per me.

,

No Comments

ruby xmlrpc client

Mi sono ritrovato in questi giorni a dover scrivere un
client xmlrpc in ruby (per una applicazione rails, invero) e abituato a vedere queste cose funzionare in 5 minuti, mi sono perso quando ho visto che non funzionava.

Un client xmlrpc in ruby si scrive molto semplicemente più o meno così:

uri = "http://example_of_url:8000/"

server = XMLRPC::Client.new2(uri)

return = server.call('function')

Molto semplice, quindi, ma nel mio caso non funzionava con
il server xmlrpc a cui tentavo di connettermi. Eppure
questo server, scritto in erlang, funzionava: un client
xmlrpc in PHP infatti, riusciva a collegarsi senza problemi.

Poteva essere un problema del mio client, ma tentando
la connessione con altri server xmlrpc, funzionava correttamente.

Dove stava quindi il problema, che mi generava un “HTTP Error 415 – Unsupported media type”?

Il server xmlrpc scritto in erlang, confondeva il client ruby in quanto non forniva il Content-Type in modo corretto, o meglio, non lo forniva proprio. Per far funzionare il tutto, ho modificato le librerie ruby di xmlrpc, file

/usr/lib/ruby/1.8/xmlrpc/client.rb

riga 503, modificando:

"Content-Type"   => "text/xml; charset=utf-8",

in:

"Content-Type"   => "text/xml ",

e il file

/usr/lib/ruby/1.8/xmlrpc/utils.rb

nella funzione

parse_content_type

ho dovuto ridefinire str = “text/xml”. A questo punto, il client xmlrpc ha funzionato.

, ,

1 Comment

Proge

Non mi avete più sentito parlare di PROGE, vero? Beh, perché è in completa riscrittura, quindi tutto il lavoro che ci stiamo facendo sopra in realtà ha prodotto al momento un gran casino. Speriamo di finire presto questa riscrittura e poter rilasciare una nuova versione il mese prossimo …

No Comments

Strane qualifiche

Lo so che è strano, ma stiamo cercando qualcuno che ci dia una mano con il lavoro. Il candidato ideale è una persona che ha buone conoscenze (o buona volontà di accumularle) di programmazione web e LSL – Second Life.

Non fate quella faccia, già mi trovo in imbarazzo io a fare una richiesta del genere, ma abbiamo molto lavoro in quel campo e una mano sarebbe gradita. Se qualcuno è interessato, faccia un fischio.

Update: ricerca chiusa.

,

No Comments

Second Life software libero?

Da un po’ il client di Second Life è libero. Dal web, senza ancora molto conferme, apprendo che l’intenzione della Linden Inc. è quello di liberare anche il codice del server.

Passo inevitabile, prima che lo faccia qualcun’altro e comunque dimostrazione da parte di Linden di non voler giocare sporco, bene.

Questo toglierà l’ultimo dubbio ai duri e puri del software libero.

Così ora anche Prosa ha aperto un suo “luogo di incontro”. Per chi vuole venirci a trovare, la location è Kiniski 184,9,21, anche se al momento non c’è niente da vedere o fare e c’è un bel niente di una cippa. Ma intanto, mettiamo il piede anche li’.

Second Life è una piattaforma “convergente”, potrebbe diventare di uso comune un giorno.

1 Comment