Dimenticavo, per gestistire il centralino uso l'interfaccia FreePBX .... :-)
Dimenticavo, per gestistire il centralino uso l'interfaccia FreePBX .... :-)
Ecco una soluzione che forse rende affidabile l'uso del canale chan_dongle per l'utilizzo con Asterisk (1.6.24 nel nostro caso) di un chiavino GSM modello Huawey E169.
Il grosso problema di inaffidabilita' del canale chan_dongle e' nel riconoscimento e nella gestione dei toni DTMF, in quanto, non infrequentemente, tende a piantarsi quando viene inviato un tono DTMF sul canale.
Praticamente, una delle due parti in conversazione sente solo piu' un fischio continuo e la chiamata si blocca irrimediabilmente.
Il problema purtroppo persiste anche se vengono disattivati i toni DTMF dalla configurazione di chan_dongle.
A peggiorare le cose, con alcune voci femminili o con alcuni toni acuti, capita che il sistema crede di avere ricevuto un tono DTMF (che nient'altro e' che una nota di frequenza audio) e si pianta con maledetto il fischio.
Gli sviluppatori di chan_dongle sono spariti e non c'e' piu' possibilita' di avere delle fix su questo problema
Pero' credo di avere trovato un soluzione tampone (forse ...), occorre modificare i parametri DTMF nel file di configurazione di chan_dongle per fare in modo che i toni vengano risconosciuti solo se hanno una durata temporale molto lunga (cosa che non accade mai)
Ecco come dovete modificare la configurazione nel file /etc/asterisk/dongle.conf:
mindtmfgap=450 ; minimal interval from end of previews DTMF from begining of next in ms
mindtmfduration=800 ; minimal DTMF tone duration in ms
mindtmfinterval=2000 ; minimal interval between ends of DTMF of same digits in ms
dtmf=off
Sto testando questa soluzione da circa un mese e al momento non ho piu' avuto il problema del fischio che precedentemente accadeva 1 chiamata su 5.
Fatemi sapere se anche a voi la cosa funziona.
Ultima modifica di pilovis; 17-07-2016 a 07:47
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.
Ma per trasmettere una sequenza di toni DTMF secondo un calendario da dove è giusto partire?
Vorrei sostituire completamente l'intervento umano attraverso un automatismo. Ora sono costretto ad intervenire io ma sono un po' stufo di questa operazione ripetitiva.
Dopo aver chiamato l'interno al quale è collegata l'apparecchiatura la comunicazione solitamente è questa (A Apparecchiatura - I Interno che chiama):
A - Voce ..... Inserire il codice
I - Tastiera ... 1234
A - Voce ...... Codice esatto, per attivare il programma premere il tasto 1, per disattivare il programma premere il tasto 2, per riascoltare premere il tasto #, per uscire premere il tasto 0
I - Tastiera ... 1
A - Voce ... Programma attivato
I - Tastiera ... 0
A - Voce ... Fine programmazione
Con l'interfaccia FreePBX sono riuscito a far funzionare il mio centralino gestendo le funzioni di base, ma questa esigenza è un tantino complicato per le mie conoscenze.
Grazie
Gino
exten => s,1,NoOp(${CALLERID})
exten => s,n,Answer()
exten => s,n,Set(CHANNEL(language)=it)
exten => s,n,Set(TIMEOUT(digit)=7)
exten => s,n,Set(TIMEOUT(response)=21)
exten => s,n,Authenticate(1234,,4)
exten => s,n,Background(digits/1&activated&digits/2&de-activated)
exten => s,n,WaitExten(5,2)
exten => s,n,Hangup()
; premuto tasto 1
exten => 1,1,Playback(activated)
exten => 1,2,System(/root/start.sh &)
exten => 1,3,Wait(2)
exten => 1,4,Hangup()
; premuto tasto 2
exten => 2,1,Playback(de-activated)
exten => 2,2,System(/root/stop.sh &)
exten => 2,3,Wait(2)
exten => 2,4,Hangup()
Ultima modifica di pilovis; 03-08-2016 a 10:39
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.
Ho appena terminato una nuova guida per installare Asterisk 11 e FreePBX 12 su Ubuntu server 14.04 64 bits, cosi' si puo' utilizzare una versione recente e LTS di Asterisk su un server anch'esso recente (e stabile) e LTS
A giorni la metto online nel mio solito repository personale: http://www.lovisolo.com/asterisk
Ultima modifica di pilovis; 26-08-2016 a 11:49
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.
Ho gia' pubblicato (in Inglese) un How-to per un SMSserver su sistemi Linux OpenWRT (per routers) che utilizza Gnokii: https://forum.openwrt.org/viewtopic.php?id=60910
che comunque puo' essere adattato a sistemi linux desktop e servers con minime modifiche.
In alternativa per Linux PC c'e' Kalkun che usa Gammu come motore SMS e MySQL come database e va veramente molto bene.
Per Asterisk ci sono brutte notizie, Chan_Dongle gestisce malissimo gli SMS, Chan_mobile (bluetooth) idem, fanno cag@re entrambi per cio' che riguarda la gestione degli SMS
Ultima modifica di pilovis; 26-08-2016 a 12:01
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.
Questa e' la mia guida (in Inglese) su come installare Asterisk 11 "completo" e con canali Gtalk e GSM (chan_dongle) su un router con sistema operativo Linux OpenWRT.
Il vantaggio principale, oltre alle dimensioni e all'assenza di parti in movimento che si guastano (ventole e hard disk), e ' il consumo, pochi watts
https://forum.openwrt.org/viewtopic....253590#p253590
nota: c'e' anche la possibilita' di installare sul router un client SIP completo, serve solo una cornetta o microfono/cuffia USB
Ultima modifica di pilovis; 26-08-2016 a 12:34
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.
Ecco una interessante applicazione che consente di effettuare telefonate Voip da riga comando,
ottimo per dotare un server senza desktop di un potente sistema di controllo che ci avvisa con una telefonata e un messaggio audio preregistrato per qualsiasi cosa possa succedere sul server stesso
Un'altra applicazione potrebbe essere quella di Antifurto, il PC collegato a sensori o ad una Webcam con "motion" che ci telefona quando rileva un movimento o un'effrazione.
Il programma e' un client SIP da riga di comando (non grafico) che si chiama Pjsip (http://www.pjsip.org)
Installazione pjpsip su Ubuntu:
su - root
cd /root
wget http://www.pjsip.org/release/2.3/pjproject-2.3.tar.bz2
tar xvjf pjproject-2.3.tar.bz2
./configure
make dep
make
make install
cp pjsip-apps/bin/pjsua-i686-pc-linux-gnu /usr/local/bin/pjsua
cd ..
ora creiamo il file di configurazione:
nano voip.cfg
dentro al file vuoto inseriamo le seguenti righe:
#
# Logging options, non modificare
#
--log-level 3
--app-log-level 3
#
# non ci serve la scheda audio
#
--null-audio
#
# Account 0: si possono avere piu' accounts ma a noi ne basta uno
# adattare i parametri per il vostro account SIP,
#"realm", "reg-timeout2 e "use-timer" NON vanno modificati
#
--id sip:user@voip-provider.com
--registrar sip:voip-provider.com
--reg-timeout 360
--realm *
--username user
--password password
--use-timer 1
#
# Network settings: porta SIP, solo se usate Messagenet mettete 5061 altrimenti lasciare 5060
#
--local-port 5060
#
# Voice activity detection, non modificare
#
--no-vad
# Stun server, non modificare
#
--stun-srv=stun.ekiga.net
#
# Media settings, non modificare
#
--snd-auto-close 1
--rtp-port 4000
#
# User agent:, non modificare
#
--max-calls 4
#
# SIP extensions, non modificare
#
--use-timer 1
ctrl+x per salvare il file (confermare) e poi uscire
Comando per iniziare la telefonata da shell (e' un'unica riga):
(sleep 30; echo q) | pjsua --config-file=voip.cfg --auto-play --play-file=messaggio.wav sip:numero-destinatario@voip-provider.com
note:
sleep 30 indica la durata massima della telefonata, in questo caso 30 secondi,
echo q manda il comando "q" a pjsua che significa: chiudi la telefonata ed esci dal programma,
messaggio.wav e' il file contenente il messaggio audio da riprodurre nella telefonata (deve essere in formato: wav, mono, 16bit, PCM sample),
sip:numero-destinatario@voip-provider.com e' il numero da chiamare nel formato standard SIP, , ad esempio per Clouditalia/Eutelia e' nel seguente formato: sip:numero@voip.eutelia.it
Potete anche chiamare direttamente un utente SIP, senza passare tramite un provider, utilizzando direttamente la sua URI: sip:user@indirizzoip:5060
Per fare dei test potete utilizzare questo file audio: http://www.lovisolo.com/asterisk/sof...o-instruct.wav scaricandolo sul vostro server con il comando:
wget http://www.lovisolo.com/asterisk/sof...o-instruct.wav
----------------------------------------------------------------------------------------------------------
Se invece avete una scheda audio installata con Alsa e volete divertirvi con pjsua, utilizzando ad esempio casse e microfono del vostro portatile per fare chiamate in viva voce, potete lanciarlo e andare al suo pannellino di controllo testuale con il comando:
pjsua --config-file=voip.cfg
apparira' questo:
Ecco un interessante comando che ci permettera' con una telefonata Voip al numero o URI_sip che abbiamo settato in "voip.conf" del pc remoto, di ascoltare tutto cio' che succede in remoto intorno al nostro server/PC, a patto che questo sia dotato di un microfono (interno, USB o con jack) e sia stata settata correttamente la scheda audio:
pjsua --config-file=voip.cfg --auto-answer=200 --auto-play --auto-loop --max-calls=30
questo comando da lanciare sul server/pc remoto, attiva il client SIP pjsip e lo mette in ascolto in attesa di chiamate a cui rispondere automaticamente.
Quindi noi lo possiamo chiamare con un altro client SIP da PC, Ios o Android (non e' necessario che sia pjsip, puo' essere qualsiasi client SIP, grafico o meno).
Nota:
Se il PC/server remoto e' dotato di un altoparlante con il volume non a "zero", dall'altra parte udiranno anche loro tutto cio' che diremo, proprio come un telefono vivavoce.
P.S.: attenzione a non violare la privacy di nessuno!
Due clients PJSIP possono chiamarsi in Voip tra loro senza che ci sia necessita' di un centralino, e' sufficiente che siano entrambi attivi utilizzando le URI_sip di ciascuno (sip:indirizzoip:5060), ma volendo possiamo prendere un numero telefonico gratuito da un gestore Voip (es. Clouditalia) e cosi' possiamo fare e ricevere chiamate sulla rete telefonica pubblica utilizzando il gestore voip come gateway/server/centralino.
Ultima modifica di pilovis; 26-08-2016 a 12:28
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 vi interessano altre utili applicazioni per Linux legate al Voip (ma non solo), potete cercare nelle mie "pilloline per Linux" su questo stesso forum: http://forum.html.it/forum/showthrea...readid=1019664
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.