



Non sapevo come intitolare questo post, sono andato sulla banalità! ![]()
Per un progetto che stiamo portando avanti con un’Università, sto facendo varie prove, tra cui “interconessione” tra 2 PBX, utilizzo pratico di ENUM, fallback delle linee e tante amenità simili.
Alla base della mia demo ci sono 2 server Asterisk, uno di front-end puramente IP, un altro di back-end con una scheda Zaptel a cui è collegato un gateway gsm.
Il sistema riceve telefonate sia SIP che IAX, telefonando direttamente via questi indirizzi al PBX, oppure facendo risolvere questi servizi da ENUM (vedi qualche mio post precedente).
Innanzittutto il context di default in sip.conf e iax.conf sarà from-internet, intercettando così tutto il traffico che proviene “dall’esterno”.
In extensions.conf avremo:
[from-internet]
exten=>390577xxxxxx,1,Dial(SIP/xlite,30)
exten=>390577xxxxxx,2,GotoIf(($[${DIALSTATUS}=CHANNELUNAVAIL]?3:4)
exten=>390577xxxxxx,3,Goto(switch_to_backend,MIOCELLULARE,1)
exten=>390577xxxxxx,4,Goto(102)
exten=>390577xxxxxx,102,Hangup
Nella prima linea abbiamo che tutte le telefonate a quel numero telefonico saranno indirizzate verso l’estenzione xlite, il mio softphone.
Se questo non è collegato, la variabile DIALSTATUS assumerà valore CHANNELUNAVAIL e la chiamata (alla linea 3) sarà switchata verso il server di back-end.
La funzione switch permette di effettuare il forwarding delle chiamate verso un altro server , loggandosi con un utente di quel server e “dirottando” la chiamata in un contesto del dialplan del server remoto.
In generale switch ha questa sintassi
switch => IAX2/user:[key]@server/context
Quindi nell’extensions.conf del server di front-end avremo:
[switch_to_backend]
switch => IAX2/user:password@ip_server_backend/from-internal
Nel contesto from-internal del server di back-end ovviamente c’è un pattern che “intercetta” le chiamate verso i cellulari, quindi la chiamata sarà dirottata verso i gateway GSM (sono due porte FXO, gruppo 3, a ricerca ciclica)
exten=>_3XXX.,1,Dial(ZAP/r3/${EXTEN})
Complesso? ![]()
Non troppo!!In vostro soccorso può giungere il grandissimo voip-info.org, sia per extensions.conf che per la connessione tra due server Asterisk (e mi ci metto anche io)




Riporto un’interessante mail ricevuta in una mailing list che seguo, da Stefano Chiccarelli :
Giugno 1989: dal punto di vista informatico, un secolo fa.
In un bosco tra Hannover e Wolfsburg viene rinvenuto il cadavere
carbonizzato di Karl Koch, un hacker tedesco conosciuto nel cyberspazio
con il nickname Hagbard Celine.
La morte risale al 23 maggio precedente.
Karl Koch, assieme a Pengo e Markus H., è stato tra i protagonisti
assoluti della scena hacker tedesca ed europea degli anni ‘80.
Resi famosi da articoli su quotidiani e riviste, da trasmissioni
televisive e dal libro “The cuckoo’s egg” di Clifford Stoll, oltre che
dal classico passaparola tipico degli ambienti underground, questi
ragazzi hanno rappresentato in maniera autentica il decennio nel quale
la loro stella è brillata più in alto delle altre: ribellione,
curiosità , pionierismo, disagio esistenziale e un pizzico incoscente
opportunismo.
Una miscela esplosiva che ha infiammato un’esistenza conclusasi nel più
tragico dei modi.Graphic novel di Andrea Ferraresso.




…di usare ENUM! ![]()
Qualche giorno fa parlai di ENUM, ovvero la convergenza tra la classica telefonia ed il mondo IP (ma non solo!!). Date un occhio qua.
Adesso è il momento di usarlo, magari con Asterisk!
Prima di tutto c’è da registrarsi ad un tree e164, quello che conosco io è e164.org, gratis ovviamente.
Una volta registrato il nostro numero telefonico ed associato il vari servizi (SIP,IAX2,TEL,MAIL etc..etc..) possiamo configurare un Asterisk e provare a chiamarci (va benissimo X-lite che ha due linee).
Prima di tutto dovrete prendere un pò di dimestichezza con la funzione ENUMLOOKUP (qui).
Cosa fa in breve questa funzione? Praticamente risolve un numero telefonico, con il prefisso internazionale nella dicitura DNS di e164 ed i servizi associati.
Uno degli usi più classici di questa funzione è quello di risolvere il primo servizio sip e usarlo per chiamare il corrispondente. (X è nel formato 39xxxxxxxxxxx)
[prova-enum]
exten=>_X.,1,Set(ENUMMY=${ENUMLOOKUP(+${EXTEN},sip,1,e164.org)}
exten=>_X.,2,Dial(SIP/${ENUMMY},30)
Ci sono però varie macro che permettono di automatizzare “l’estrapolazione” dei vari servizi censiti con e164 ed effetture una Dial. Una buona macro è disponibile qui.




Ovvero collegare due (o più centralini) Asterisk tra di loro, ad esempio collegare 2 sedi distaccate della stessa azienda, o più semplicemente parlare “a gratis” tra amici!
Sfrutteremo il protocollo nativo IAX per la comunicazione tra centralini, non è obbligatorio, ma dato che è sicuramente più semplice da usare di SIP e H.323 per questo scopo, inoltre non risente troppo della presenza di eventuali NAT.
La prima cosa da fare è configurare 2 utenti, uno per centralino, per poter ricevere le comunicazioni dall’altro, e due altri “utenti” per poter effettuare le chiamate.
Una breve puntualizzazione sui type di Asterisk:
user (può ricevere)
peer (può chiamare)
friend (può chiamare e ricevere)
Chiameremo (con molta fantasia) PBXA e PBXB.
In iax.conf di A avremo
[to_B]
type=peer
host=IP B
username=utente_a
secret=miapasswd
context=locali[utente_b]
type=user
host=IP B
context=locali
secret=miapasswd
trunk=yes
Ed in extensions.conf avremo:
[outbound_to_B]
exten=>_NUMERAZIONE-PER-B,1,Dial(IAX2/to_B/${EXTEN})
Per il PBXB avremo una configurazione speculare.
Buona conversazione!!




Uno dei vantaggi dei sistemi IP-PBX Asterisk è quello di permettere ai propri utenti di avere più periferiche, sia telefoni IP che softphone, associati al proprio utente e di far squillare questi dispositivi nell’ordine che preferiamo.
Ad esempio possiamo avere un softphone nel portatile ed un telefono fisso sulla scrivania, così quando avremo acceso il notebook magari squillerà solo quello, facendo andare sul fisso le altre telefonate se siamo occupati. Mentre se scordiamo il portatile avremo sempre quello fisso per rispondere!! ![]()
Il concetto di base è quello di creare il nostro utente in sip.conf
[pippo]
type=user
secret=pluto
context=from-internal
e poi due periferiche sip
[xlite]
username=pippo
type=friend
qualify=no
port=5060
nat=never
host=dynamic
dtmfmode=rfc2833
context=from-internal
canreinvite=no
callerid=”Marco” <1234>[gxp2000]
username=pippo
type=friend
qualify=no
port=5060
nat=never
host=dynamic
dtmfmode=rfc2833
context=from-internal
canreinvite=no
callerid=”Marco” <1234>
A questo punto la regola più semplice è quella per far squillare entrambi i telefoni contemporaneamente:
exten=>1234,1,Dial(SIP/xlite&SIP/gxp2000,30)
Semplice no?




Ebbene si, oggi il più amato/odiato sistema operativo del globo fa 21 anni!
Il 20 novembre del 1985 nasce Windows 1.0 e richiedeva 256kb di ram, il DOS 2.0 (non era un sistema a se stante) e ben 2 floppy. Il prezzo? $100 pari più o meno ai $177 attuali, il costo odierno di Windows XP Home.
Il primo bug fu trovato dopo solo due settimane (il buon giorno si vede dal mattino!!).
All’inizio era solo un esercizio di stile, non c’erano programmi Microsoft disponibili fino al 1987 (Word) e 1989 (Excel) e solo con la versione 3.1 Windows è stato considerato (non da tutti anche ora!!!
) un sistema operativo stabile.
Un sistema operativo che bene o male dopo 21 anni fa ancora parlare di se, che ha schiere di adulatori e acerrimi nemici (il più cattivo è nato nel 1991!!) e che forse ci accompagnerà ancora per altrettanti anni…
Che dire altro….auguri!!!




Come potete notare ho cambiato la grafica al mio blog!! ![]()
Adesso dovrò mettere a punto alcuni piccoli bug del tema, ma dovrebbe andare tutto.
Complimenti a chi l’ha creato (ed al mio collega Sandro che me l’ha fatto vedere per la prima volta….il tema!!!
).
Spero sia di vostro gradimento!




Problema tipi di tutte le installazioni Asterisk è quello dell’eco che sentiamo nelle telefonate che entrano (o escono) dal nostro pbx passando da linee analogiche o digitali (PRI/BRI).
Questò perchè? Per tantissimi motivi, latenza, impendenza, qualità della linea, delle periferiche, distanza dalle centrali etc..etc..
Però è possibile alleviare questi problemi tramite semplici settaggi, molto empirici, che dopo un pò di prove e smanettamento, dovrebbero dare alcuni risultati positivi.
Prima di tutto in zapata.conf ci devono essere questi settaggi
echocancel=128
echocancelwhenbridged=yes
echotraining=800
Per il significato particolare di queste voci vi basti cercare su Google il termine zapata.conf
Ma questo può non bastare, infatti altri due parametri fondamentali sono txgain e rxgain.
Per controllare come aggiustare il guadagno, dovrete utilizzare lo strumento ztmonitor fornito con i sorgenti di Zaptel.
Aprite due console (o terminali ssh), fate una telefonata ed eseguite in una delle due console questo comando
./ztmonitor NUMERO CANALE -v
Ed avrete una cosa simile
Visual Audio Levels.
——————–
Use zapata.conf file to adjust the gains if needed.( # = Audio Level * = Max Audio Hit )
<-------------(RX)-------------> <-------------(TX)------------->
######* ############## *
Questo indica i livelli di volume di RX e TX, mentre il primo è regolare, il secondo è troppo alto, quindi txgain và necessariamente abbassato.
Di solito questi valori devono essere compresi tra -11 e +11 (il valore minimo e massimo sono -100 e 100).
Dall’altra console eseguirete reload chan_zap.so in modo da regolare i volumi “on-the-fly”.
Quando avrete raggiunto un livello ottimale, per sicurezza, potete riavviare il vostro centralino.
Con un pò di fortuna, dopo varie prove, non dovreste più sentire quel fastidioso eco.




Facendo un sonnecchioso giretto domenicale sul web, mi sono ricordato di un sito simpatico, dove ho acquistato “oggetti curiosi” tempo fa, ovvero Think Geek, con tante cosucce da nerd!
Il vostro vicino in ufficio vi assilla? Siete un sysadmin con gli utenti che non vi danno pace?! Bene da oggi potete raderli al suolo con una scarica di missili!!! ![]()
Ebbene si, è disponibile un “simpatico” lanciamissili usb domestico, con tanto di software di controllo e una piattaforma che permette di lanciare a 180° ed con un inclinazione di 45°
Il software ufficiale è solo per windows, ma si trova in giro il supporto anche per Mac e Linux.
Come riportato sul sito “The USB Missile Launcher is the latest desktop weapons platform that elevates your status from mere code-monkey or BOFH Sysadmin to a true Digital Dictator” !! ![]()
Il link al sito.




Volete fare un centralino Asterisk ma senza tutti i fronzoli di Trixbox? Volete un centralino puramente IP, senza supporti per schede hardware o semplicemente per farlo girare su una virtual machine?
Allora installate una Debian!
Non entrerò nei meriti dell’installazione di GNU/Linux anche perchè ci sono ottime guide per questo, mentre per avere il nostro centralino puramente IP potete scaricare il sorgente dal sito www.asterisk.org.
Poi è necessario installare tre pacchetti .deb, ovvero libncurses5-dev, zlib1g-dev e libssl-dev con il solito comando apt-get install NOME PACCHETTO.
Il pacchetto può essere scompattato in /usr/src e compilato in 3 semplicissime mosse
make
make install
make samples (per le indispensabili configurazioni di base)
Se tutto si svolgerà senza errori, basterà eseguire il comando asterisk -vv (2 gradi di verbosità) per ottenere una schermata simile
== Registered custom function CALLERID
[func_enum.so] => (ENUM Related Functions)
== Registered custom function ENUMLOOKUP
== Registered custom function TXTCIDNAME
[func_uri.so] => (URI encode/decode functions)
== Registered custom function URIDECODE
== Registered custom function URIENCODE
[format_mp3.so] => (MP3 format [Any rate but 8000hz mono optimal])
== Registered file format mp3, extension(s) mp3
[app_saycountpl.so] => (Say polish counting words)
== Registered application ‘SayCountPL’
Asterisk Ready.(Ultime righe)
A questo punto CTRL+Z e poi bg (che sposterà l’esecuzione in background).
Semplice no?
Adesso potete configurarlo!!
(magari farò un breve tutorial in futuro proprio sulla configurazione base).


More Options ...
Categorie
Tag Cloud
Blog RSS
Comments RSS

Void « Default
Life
Earth
Wind
Water
Fire
Light 