Ecco il link per scaricare le voci Italiane per Asterisk (PDF di istruzioni all'interno) create dal grandissimo Marco e da sua moglie
http://www.voip.ammdomus.it/index.ph...1-4-x&Itemid=4
Ecco il link per scaricare le voci Italiane per Asterisk (PDF di istruzioni all'interno) create dal grandissimo Marco e da sua moglie
http://www.voip.ammdomus.it/index.ph...1-4-x&Itemid=4
Progettista elettronico, appassionato di informatica dal 1982, sistemista Linux dal 2002, sono consulente tecnico del Giudice per le indagini preliminari, valuto richieste di consulenza, in ambito Voip/Telefonia anche con grado di sicurezza militare.
I reports sulle chiamate effettuare e ricevute da Asterisk, sono visualizzati da FreePBX (pannello di gestione tramite browser) in modo un po' scarno e poco leggibile.
Per integrare i dati visulizzati con maggiori informazioni, ma soprattutto poter vedere tutti i campi che ora appaiono troncati (es. il canale utilizzato), ecco la soluzione.
Entrate in console comandi sul server in cui risiede Asterisk/FreePBX e date i seguenti comandi:
su - root
touch /etc/asterisk/call-log-table.php
chmod 755 /etc/asterisk/call-log-table.php
chown asterisk:asterisk /etc/asterisk/call-log-table.php
nano /etc/asterisk/call-log-table.php
incollate dentro al file appena creato le seguenti linee:
<?php $FG_TABLE_COL[]=array ("Data/ora", "calldate", "10%", "center", "SORT", "19");
$FG_TABLE_COL[]=array ("Canale Sorgente", "channel", "18%", "center", "", "30", "",
"", "", "", "", "");
$FG_TABLE_COL[]=array ("Chiamante", "src", "10%", "center", "", "30");
$FG_TABLE_COL[]=array ("Caller ID chiamante", "clid", "25%", "center", "", "80",'','','','',
'','filter_html');
$FG_TABLE_COL[]=array ("Chiamato", "dst", "10%", "center", "SORT", "30");
$FG_TABLE_COL[]=array ("Canale Destinazione", "dstchannel", "17%", "center", "", "30",
"", "", "", "", "", "");
$FG_TABLE_COL[]=array ("Esito", "disposition", "6%", "center", "", "30");
if ((!isset($resulttype)) || ($resulttype=="min"))
$minute_function= "display_minute";
$FG_TABLE_COL[]=array ("Durata", "duration", "4%", "center", "SORT", "30",
"", "", "", "", "", "$minute_function");
$FG_TABLE_DEFAULT_ORDER = "calldate";
$FG_TABLE_DEFAULT_SENS = "DESC";
// This Variable stores the argument for the SQL query
$FG_COL_QUERY='calldate, channel, src, clid, dst, dstchannel, disposition,
duration';
$FG_COL_QUERY_GRAPH='calldate, duration';
// The variable LIMITE_DISPLAY define the limit of record to display by page
$FG_LIMITE_DISPLAY=99;
// Number of column in the html table
$FG_NB_TABLE_COL=count($FG_TABLE_COL);
// The variable $FG_EDITION define if you want process to the edition of the
// database record
$FG_EDITION=true;
//This variable will store the total number of columns
$FG_TOTAL_TABLE_COL = $FG_NB_TABLE_COL;
if ((isset($FG_DELETION) && $FG_DELETION) || $FG_EDITION)
$FG_TOTAL_TABLE_COL++;
//This variable define the Title of the HTML table
$FG_HTML_TABLE_TITLE=" - Logs Chiamate - ";
//This variable define the width of the HTML table
$FG_HTML_TABLE_WIDTH="100%";
?>
Salvate con Ctrl+x
Ora potete vedere la differenza rispetto a prima.
I campi visulizzati saranno i seguenti (in Italiano, prima erano in Inglese):
- Data/ora
- Canale Sorgente
- Chiamante
- Caller ID chiamante
- Chiamato
- Canale Destinazione
- Esito
- Durata
Progettista elettronico, appassionato di informatica dal 1982, sistemista Linux dal 2002, sono consulente tecnico del Giudice per le indagini preliminari, valuto richieste di consulenza, in ambito Voip/Telefonia anche con grado di sicurezza militare.
Quando installate Linux create una partizione a parte per "/boot" da 150 Megabytes e formattatela in formato "ext2" invece che ext3 o ext4.
Ext2, non avendo il Journaling, e' molto piu' veloce dei suoi due successori e in questo specifico caso il journaling non serve perche' la partizione di boot e' una partizione minuscola ed e' statica, cioe' non ha scritture dinamiche durante il funzionamento della macchina ma viene letta solo durante l'avvio del sistema.
Progettista elettronico, appassionato di informatica dal 1982, sistemista Linux dal 2002, sono consulente tecnico del Giudice per le indagini preliminari, valuto richieste di consulenza, in ambito Voip/Telefonia anche con grado di sicurezza militare.
Con il tempo e l'esperienza ho scoperto alcune "pazzie" di funzionamento del VOIP che possono far perdere ore al malcapitato che si trova a smadonnare su un telefono Voip o un centralino Asterisk che funziona, ma non si sente la voce, oppure si sente ma in una direzione sola, oppure suona ma poi cade la linea, ecc.
Ecco alcuni suggerimenti che possono aiutarVi a risolvere i problemi.
1) Se il vostro Router ADSL ha l'opzione "SIP ALG", disabilitela! Disabilitate anche il UPNP nel router.
2) Se avete un centralino Asterisk e avete una adsl con il router che aggiorna automaticamente il vostro dominio di terzo livello (es. mioasterisk.dyndns.org), non utilizzate mai questo dominio come nome host del vostro server Asterisk, altrimenti ci sono malfuzionamenti nella gestione dei telefoni remoti (non passa la voce).
3) se il vostro centralino e' dietro ad una doppia nat (caso raro ma a me e' successo), dovete creare una rotta statica nel server asterisk verso la rete della prima nat.
esempio: NAT 1 (verso router) = 192.168.2.xxx gw 192.168.2.1, NAT 2 (verso asterisk) = 192.168.1.xxx gw 192.168.1.1 , la rotta sara': sudo route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.1
4) se il vostro telefono VOIP e' all'interno della stessa LAN in cui c'e' anche il server Asterisk, non usate mai lo STUN server, viceversa, se siete fuori della LAN (internet), lo STUN va sempre utilizzato (es. stun.ekiga.net)
5) se avete un server Asterisk dietro al router che fa un NAT, e' piu' pratico fare una DMZ verso l'IP del server Asterisk, cosi' non dovete settare tutte le porte per ogni servizio.
Progettista elettronico, appassionato di informatica dal 1982, sistemista Linux dal 2002, sono consulente tecnico del Giudice per le indagini preliminari, valuto richieste di consulenza, in ambito Voip/Telefonia anche con grado di sicurezza militare.
Dato che la funzione di Asterisk (centralino telefonico) e' tra le funzioni vitali di un'azienda, e' importante effettuare backup regolari per garantirsi un restore veloce in caso di problemi e guasti.
Per effettuare il backup delle impostazioni di Asterisk sono necessari due passi:
1) impostare il backup periodico tramite FreePBX utilizzando la funzione "Backup & Ripristino"
2) effettuare il backup dei DB "asterisk" e "asteriskcdrdb" in Mysql
Per il secondo passo consiglio di utilizzare Webmin che ha un'opzione apposita per fare il backup periodico dei databases, oppure potete utilizzare questo script in PHP che vi manda il backup per email:
http://www.backup2mail.com/
Per ripristinare il backup di asterisk occorre fare la cosa inversa, partendo dal restore dei due databases Mysql e facendo poi il restore completo da FreePBX, sempre con la funzione "Backup & Ripristino".
NOTA BENE: resta inteso che il restore dei due databases e delle impostazioni di Asterisk deve essere effettuato con files di backup che siamo stati fatti contestualmente nella stessa data (databases e impostazioni).
--------------------------
In alternativa, oppure se non avete FreePBX come interfaccia grafica di Asterisk, per il punto "1)" dovete effettuare il backup delle seguenti directory:
/etc/asterisk
/etc/bluetooth
/var/lib/asterisk
/var/www/html
/usr/lib/asterisk
e del file /etc/amportal.conf
Per il ripristino ricopiate questi files con i giusti permessi.
Progettista elettronico, appassionato di informatica dal 1982, sistemista Linux dal 2002, sono consulente tecnico del Giudice per le indagini preliminari, valuto richieste di consulenza, in ambito Voip/Telefonia anche con grado di sicurezza militare.
Se volete reinstallare una copia pulita di ubuntu su un'altra macchina, mantenendo pero' tutti Vostri i programmi che avete installato sul vostro Ubuntu e le loro configurazioni, ecco la via semplice, ammesso pero' che le versioni di Ubuntu siano sempre le stesse:
Nella Vostra macchina con il Ubuntu originale:
- Andate su "Sistema" > "Amministrazione" e lanciate il "Gestore pacchetti"
- Selezionate "File" > "Salva Selezione" cliccando sul box: "Salvare lo stato completo, non solo le selezioni"
- Salvate il file in un chiavino USB
- Salvate poi, sempre sul chiavino USB, una copia del file: /etc/apt/sources.list
Per ripristinare i pacchetti su un altro Ubuntu installato di fresco (senza modifiche o personalizzaioni):
- sostituite il file /etc/apt/sources.list del nuovo Ubuntu con quello salvato sul chiavino USB e poi
- Andate su "Sistema" > "Amministrazione" e lanciate il "Gestore pacchetti"
- Selezionate "File" > "Legi Selezioni" scegliendo il file precedentemente salvato sul chiavino
Nota: questo sistema vale solo per i programmi, i vostri dati e files andranno copiati a parte.
Progettista elettronico, appassionato di informatica dal 1982, sistemista Linux dal 2002, sono consulente tecnico del Giudice per le indagini preliminari, valuto richieste di consulenza, in ambito Voip/Telefonia anche con grado di sicurezza militare.
Cercare i parametro MX (mailserver) dall'interrogazione del dominio che ci interessa con questo tool:
http://dns.iltuonome.com.ar/lookup.html
poi da console di una qualsiasi macchina linux collegata ad internet dare il seguente comando:
telnet "indirizzo_del_server"25
esempio:
telnet mail.html.it 25
risposta:
Trying 151.1.244.175...
Connected to mail.html.it.
Escape character is '^]'.
220 forward01.html.local ESMTP Postfix (Debian/GNU)
Progettista elettronico, appassionato di informatica dal 1982, sistemista Linux dal 2002, sono consulente tecnico del Giudice per le indagini preliminari, valuto richieste di consulenza, in ambito Voip/Telefonia anche con grado di sicurezza militare.
----------------Originariamente inviato da pilovis
Ecco le istruzioni per configurare Asterisk (versione 1.8.x) per effettuare e ricevere chiamate voce tramite Google Talk (tutti gli utenti Gmail e chiamate telefoniche se si ha credito) e Google Voice (numero telefonico USA e chiamate gratis in USA e Canada).
Installazione su Ubuntu Server 10.04.2 di Asterisk (nota: metto solo i comandi...):
su - root
wget http://downloads.asterisk.org/pub/te...1.8.6.0.tar.gz
apt-get install libiksemel-dev libssl-dev libncurses5 g++ libxml2-dev
tar -zxvf asterisk-1.8.6.0.tar.gz
cd asterisk-1.8.6.0
./configure
make
make install
make samples
NOTA: se l'installazione durante il ./configure, si interrompe e vi dice che mancano delle dipendenze, installatele come al solito con apt-get.
Configurazione files:
-------------------------------------------------------
editiamo gtalk:
nano /etc/asterisk/gtalk.conf
inserire alla fine del file le seguenti righe:
[general]
context=google
allowguests=yes
bindaddr=0.0.0.0
stunaddr=stun01.sipphone.com
[guest]
disallow=all
allow=ulaw
context=google
salvare e chiudere con Ctrl+X
-------------------------------------------------------
editiamo jabber:
nano /etc/asterisk/jabber.conf
inserire alla fine del file le seguenti righe:
[general]
autoregister=yes
[asterisk]
type=client
serverhost=talk.google.com
username=mioutentegmail@gmail.com/Talk
secret=miapasswordgmail
port=5222
usetls=yes
usesasl=yes
statusmessage="sono un server Asterisk"
timeout=100
salvare e chiudere con Ctrl+X
NOTA: mioutentegmail e miapasswordgmail vanno ovviamente sostituiti con le nostre credenziali di accesso a gmail
-------------------------------------------------------+
editiamo sip.conf:
nano /etc/asterisk/sip.conf
subito sotto l'etichetta [general] inserire le seguenti righe:
context=default
allowguest=no
nat=yes
externhost=mioip.dyndns.org
externrefresh=120
localnet=192.168.1.0/255.255.255.0
e ancora in fondo al file inserire le seguenti righe per configurare almeno un telefono SIP (numero interno 200):
[200]
deny=0.0.0.0/0.0.0.0
secret=miapassword
dtmfmode=rfc2833
canreinvite=no
host=dynamic
type=friend
nat=yes
port=5060
qualify=yes
callgroup=
pickupgroup=
dial=SIP/200
mailbox=200@device
permit=0.0.0.0/0.0.0.0
callerid=device <200>
callcounter=yes
faxdetect=no
salvare e chiudere con Ctrl+X
NOTA: mioip.dyndns.org va sostituito con il nostro dominio di terzo livello registrato con dyndns.org e gestito con il router ADSL (se lo consente), oppure tramite il programma ddclient (apt-get install ddclient), cerca su google le istruzioni di configurazione.
Se invece abbiamo un IP pubblico statico, sostituiamo la riga "externhost=mioip.dyndns.org" con:
"externip=xxx.xxx.xxx.xxx" (mettere l'indirizzo IP statico), e se non c'e' il NAT sul router va cambiata la riga "nat=yes" con "nat=no".
Localnet invece va adeguata alla nostra rete LAN, es: "localnet=10.0.0.0/255.0.0.0" se abbiamo una rete in classe 10, se non c'e' il NAT questa riga sparisce.
-------------------------------------------------------
editiamo extensions.conf:
nano /etc/asterisk/extensions.conf
e subito dopo l'etichetta [default] inserire le seguenti righe:
include => google
include => gmail
include => googlevoice
e ancora in fondo al file inserire le seguenti righe:
[google]
;exten => s,1,Answer()
;exten => s,n,Wait(2)
;exten => s,n,SendDTMF(1)
;exten => s,n,Dial(SIP/200,20)
exten => s,1,Set(crazygooglecid=${CALLERID(name)})
exten => s,n,Set(stripcrazysuffix=${CUT(crazygooglecid,@,1) })
exten => s,n,Set(CALLERID(all)=${stripcrazysuffix})
exten => s,n,Dial(SIP/200,20,D(:1))
[gmail]
exten => 100,1,Dial(gtalk/asterisk/mioutentegmail@gmail.com)
[googlevoice]
exten => _1XXXXXXXXXX,1,Dial(gtalk/asterisk/+${EXTEN}@voice.google.com)
salvare e chiudere con Ctrl+X
Nota: mioutentegmail va ovviamente sostituito con la nostra ID di accesso a gmail
-------------------------------------------------------
Far partire asterisk con il comando:
asterisk start
Il client SIP (telefono o software) va configurato con la userid: 200 e la password che abbiamo messo in sip.conf (miapassword)
IMPORTANTE:
----------------
Da fine Agosto le chiamate in uscita tramite il canale "Google Voice" hanno smesso di funzionare (si sente il segnale di chiamata in corso ma non c'e' nessuna risposta).
Il problema e' dato dal fatto che Google ha cambiato alcuni protocolli e sta andando avanti e indietro con la configurazione dei protocolli (vecchio e nuovo), per cui le chiamate in uscita un giorno funzionano e il giorno dopo no.
Per risolvere il problema occorre modificare il file ../channels/chan_gtalk.c nei sorgenti e ricompilare asterisk.
La procedura e' molto semplice:
Andare nella cartella in cui abbiamo scompattato asterisk la prima volta durante l'installazione di Asterisk 1.8, cioe' dove ci sono i sorgenti del programma, nel caso sopra illustrato era "/root":
entrare nella cartella channels:
cd channels
e quindi editare il file chan_gtalk.c:
sudo nano chan_gtalk.c
trovare la linea contenente "iks_find_cdata"
sostituirla con la seguente linea:
((redirect = iks_find_cdata(traversenodes, "sta:redirect")) || (redirect = iks_find_cdata(traversenodes, "redirect")) ) &&
salvare le modifiche con "Ctrl+x"
poi ricompiliamo asterisk uscendo da /channels e ritornando nella cartella principale in cui lo abbiamo scompattato la prima volta con il comando:
cd ..
e diamo i seguenti comandi per ricompilarlo:
./configure
make clean
make
sudo make install
Quindi riavviamo la macchina che ospita Asterisk e le chiamate in uscita ora dovrebbero nuovamente funzionare.
Questo e' tutto.
Progettista elettronico, appassionato di informatica dal 1982, sistemista Linux dal 2002, sono consulente tecnico del Giudice per le indagini preliminari, valuto richieste di consulenza, in ambito Voip/Telefonia anche con grado di sicurezza militare.
Per eliminare l'effetto "animazione" quando si riduce una finestra in Ubuntu e per risparmiare anche quel minimo di risorse che questo effetto si porta via, soprattutto nel PC piu' lenti, ecco come fare:
aprire il terminale e digitare:
gconf-editor
Selezionare > Apps
poi > Metacity
poi > General
cercare l'opzione "reduced_resources box" e abilitarla.
Progettista elettronico, appassionato di informatica dal 1982, sistemista Linux dal 2002, sono consulente tecnico del Giudice per le indagini preliminari, valuto richieste di consulenza, in ambito Voip/Telefonia anche con grado di sicurezza militare.
Un po' di accademia utile per chi ha intenzione di diventare provider Voip e vuole implementare un sistema ad alta efficienza e alta ridondanza.
Serve anche per i provider Voip Italiani che forse non sanno nemmeno come si fa, dato che quando gli va giu' la rete i servizi vanno offline
Il tutto si basa sui DNS e il parametro SVR, che purtroppo pochi conoscono, inclusi i nostri stimatissimi professori universitari
Comunque, a parte le polemiche, ecco una spiegazione di come fare.
Il record "SVR" del DNS e' utilizzato per definire le priorita' e il peso di un certo numero di servers che assieme gestiscono uno specifico servizio internet, analogamente a quanto fa il record "MX" per la posta elettronica.
Si puo' utilizzare questo parametro non solo per il protocollo SIP ma anche per altri tipi di servizio.
Non voglio dilungarmi troppo sulla teoria, per cui vi posto un mio esempio pratico di configurazione di un DNS che regge un servizio Voip ad alto traffico con ridondanza.
Occorrono in questo caso tre servers Voip, due per il load balancing e uno per il Failover.
I tre servers sono interconnessi tra loro con canale IAX (cercare su Internet per un esempio di configurazione) e tutti quanti condividono le stesse configurazioni.
La configurazione di BIND per un ipotetico dominio "mysipdomain.com" e' molto semplice, basta leggere attentamente le mie note in questo esempio.
NOTA BENE: nell'esempio qui sotto, in grassetto ci sono i records DNS, mentre dopo il ";" ci sono i miei commenti esplicativi che devono essere omessi nel vostro file di configurazione:
esempio pratico:
; ------------------------------------
; configurazione esempio di pilovis
;-------------------------------------
;
; Sezione SOA records - Start of Authority
;
$ORIGIN mysipdomain.com.
@ SOA ns1.mysipdomain.com. root.mysipdomain.com. (
1995032001 3600 3600 604800 86400 )
;
; Sezione dei nameservers autoritativi per questo dominio
;
NS ns1.mysipdomain.com.
NS ns2.nselsewhere.com.
;
; Sezione per il load balancing
;
; in questo esempio specifico per il servizio SIP, ogni tre richieste per il server main.mysipdomain.com la
; quarta viene dirottata al server secondario secondary.mysipdomain.com (3 a 1)
; notare che usando SRV 0 1 per entrambi si ha il load balancing al 50% tra i due servers (1 a 1)
_sip._udp.mysipdomain.com SRV 0 1 5060 main.mysipdomain.com.
SRV 0 3 5060 secondary.mysipdomain.com.
; qui di seguito ne potete mettere quanti ne volete ...
;
; Sezione per la ridondanza (redundancy)
;
; se uno qualsiasi dei due server sopra non risponde, la relativa richiesta passa automaticamente al server di backup
SRV 1 0 5060 backup.mysipdomain.com.
; qui di seguito ne potete mettere quanti ne volete ...
;
; NOTARE BENE che il formato del record SVR e' il seguente:
; _service._proto.name TTL class SRV priority weight port target
;
; - SPIEGAZIONE DETTAGLIATA DEI PARAMETRI SVR -
;
; TTL e' il tempo di vita espresso in secondi del record SRV nella cache DNS del client e puo' essere omesso,
; quando il TTL scade, il client che utilizza il servizio svuota la cache locale del dns ed effettua un'altra richiesta
; al nameserver autoritativo del dominio, in modo che se il server primario torna online puo' di nuovo gestire il servizio.
; il parametro _service indica il tipo di servizio da erogare
; il parametro _proto indica il protocollo TCP o UDP per il servizio
; il parametro name e' il dominio principale che gestisce il servizio
; il parametro class e' sempre IN e puo' essere omesso come in questo esempio.
; priority e' la priorita' del server indicato, piu' il valore e' basso e piu' la priorita' e' alta = redundancy
; weight e' il peso (percentuale di carico) tra piu' server con la stessa priorita' = load balancing
; port e' la porta TCP o UDP port alla quale il servizio e' offerto
; target e' il nome di dominio della macchina che eroga il servizio, puo' essere diverso dal name,
; infatti volendo si puo' anche usare un provider SIP esterno come dominio target
;
;
; sezione per gli A records - risoluzione dominio - indirizzo IP
;
; notare che occorre un A record per ogni host settato nei records SRV
; ad eccezione dei domini esterni che sono gia' risolti dai loro DNS autoritativi
;
ns1.mysipdomain.com. IN A 10.0.0.1
main.mysipdomain.com. IN A 10.0.0.3
secondary.mysipdomain.com. IN A 10.0.0.4
backup.mysipdomain.com. IN A 10.0.0.5
;
; in questo specifico esempio non serve un A record per ns2.nselsewhere.com.
; dato che e' non e' un nostro dominio e ha gia' i suoi dns che lo risolvono
; ma se il vostro dns secondario e' sotto il vostro dominio allora serve un record A in questa sezione
Potete trovare la mia proposta per aggiungere questa opzione alla Distro FreePBX qui:
http://www.freepbx.org/forum/freepbx...eases-to-have-
Progettista elettronico, appassionato di informatica dal 1982, sistemista Linux dal 2002, sono consulente tecnico del Giudice per le indagini preliminari, valuto richieste di consulenza, in ambito Voip/Telefonia anche con grado di sicurezza militare.