Asterisk su DGA4132 (installazione manuale)

  • 41 Risposte
  • 24138 Visite

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline chocobo

  • Membro Giovane
  • **
  • 98
Asterisk su DGA4132 (installazione manuale)
« il: 07 Aprile 2019, 10:52 »
Ho letto sul forum che alcuni hanno riscontrato problemi con l'utilizzo di asterisk ed il blocco chiamata con il DGA4132.
Vi posto la mia configurazione con registro e blocco chiamate funzionante su linea Wind (da testare con altri gestori)
L'unica pecca è che, sia l'installazione sia la configurazione/gestione vien fatta tutta manualmente.
Prima di effettuare qualsiasi tipo di modifica, fate una copia di backup della vostra attuale configurazione.
Provate questa configurazione solo se siete utenti esperti; non mi ritengo responsabile per eventuali danni che potreste causare al vostro modem


Funzionante su
Codice: [Seleziona]
DGA4132
FW: 2.0.1_001
GUI 9.0.X

Dal terminale SSH, installiamo:
Codice: [Seleziona]
opkg update
opkg install asterisk13
opkg install asterisk13-app-system
opkg install asterisk13-chan-sip
opkg install asterisk13-res-rtp-asterisk
opkg install asterisk13-format-pcm
opkg install asterisk13-format-g729
opkg install asterisk13-codec-g729
opkg install asterisk13-codec-alaw
opkg install asterisk13-cdr
opkg install asterisk13-cdr-csv
opkg install bcg729

Configurazione file in "/etc/asterisk"

sip.conf
Codice: [Seleziona]
[general]
udpbindaddr=0.0.0.0:5062
tcpenable=no
context=External,outgoing_context
nat=force_rport,comedia
srvlookup=no
disallow=all
allow=alaw
allow=g729
rtptimeout=60
rtpholdtimeout=300
register => [email protected]:_PASSWORD_:[email protected]:5060/39_NUMERO_DI_TELEFONO_~900

[tel]   
type=peer
callerid=”39_NUMERO_DI_TELEFONO_” <39_NUMERO_DI_TELEFONO_>
[email protected]
secret=_PASSWORD_
fromuser=39_NUMERO_DI_TELEFONO_
fromdomain=sip.infostrada.it
host=sip.infostrada.it
outboundproxy=voip.libero.it
insecure=port,invite
realm=sip.infostrada.it
port=5060
nat=force_rport,comedia
qualify=yes
regseconds=60
disallow=all
allow=alaw
allow=g729

modules.conf
Codice: [Seleziona]
[modules]
autoload=yes
load => cdr_csv.so
load => app_cdr.so
load => cdr_custom.so
load => cdr_manager.so
load => func_cdr.so
load => codec_g729.so
load => format_g729.so

noload => app_forkcdr.so
noload => cdr_sqlite3_custom.so
noload => app_confbridge.so
noload => cdr_syslog.so
noload => pbx_gtkconsole.so
noload => chan_alsa.so
noload => chan_console.so
noload => res_musiconhold.so

users.conf
Codice: [Seleziona]
[6001]
callwaiting = yes
context = outgoing_context
hasagent = no
hasdirectory = yes
hasiax = no
hasmanager = no
hassip = yes
hasvoicemail = yes
host = dynamic
threewaycalling = yes
deletevoicemail = no
autoprov = yes
profile = polycom
directmedia = no
nat = no
fullname = Casa ; ${DISPLAY_NAME}
secret = 123456 ; ${SECRET}
username = 6001 ; ${USERNAME}
label = 6001 ; ${LABEL}
cid_number = 6001 ; ${CALLERID}
qualify=yes

cdr.conf
Codice: [Seleziona]
[general]
enable=yes
unanswered = yes

cdr_manager.conf
Codice: [Seleziona]
[general]
enabled = yes

cdr_custom.conf
Codice: [Seleziona]
[mappings]
Master.csv => "${CDR(clid)}","${CDR(src)}","${CDR(lastdata)}","Inizio Chiamata ${CDR(start)}","Fine chiamata ${CDR(end)}","Durata Chiamata "${CDR(billsec)}","Status ${CDR(disposition)}"

extensions.conf
Citazione
NB: per far funzionare la risposta automatica, nella cartella /etc/asterisk, ci dovrà essere il file music.alaw
Codice: [Seleziona]
[outgoing_context]
exten => _X.,1,Dial(SIP/${EXTEN}@tel)

[External,outgoing_context]
exten => _NUM_DI_TELEFONO_,1,NoOp()
same => n,Set(orig=${IF($[$["${CALLERID(num):0:2}" = "00"]|$["${CALLERID(num):0:1}" = "+"]|$["${TOLOWER(${CALLERID(num)})}" = "anonymous"]|$["${CALLERID(num)}" = ""]] ?"":"+39")}${CALLERID(num)})
same => n,NoOp(Il numero chiamante e' ${CALLERID(num)})

;INIZIO_BLACKLIST
same => n,GotoIf($["${CALLERID(num)}" = "anonymous"]?hangup) ;per bloccare numeri anonimi
same => n,GotoIf($["${CALLERID(num)}" = "anonymous"]?answer) ;per autorisposta ai numeri anonimi
same => n,GotoIf($["${CALLERID(num)}" = "02XXXXXXX"]?hangup)
same => n,GotoIf($["${CALLERID(num)}" = "02XXXXXX"]?answer) 
;FINE_BLACKLIST

same => n,Goto(ok)
same => n(answer),Answer()
same => n,Playback(/etc/asterisk/music)
same => n,Hangup()
same => n(ok),NoOp()
same => n,Dial(SIP/6001)

Nel file asterisk che si trova nella cartella "/etc/init.d/" aggiungiamo la seguente riga dopo "start() {"

Codice: [Seleziona]
[ -d $DEST/var/log/asterisk/cdr-custom ] || mkdir -p $DEST/var/log/asterisk/cdr-customserve per creare la cartella cdr-custom ad ogni riavvio del modem,

Ora non ci resta che configurare la scheda telefonia.
in Globale
Codice: [Seleziona]
Nome: Asterisk
Registrar primario 127.0.0.1
Porta registrar primario 5062
Porta proxy primario 5062
Porta locale 5064
Scadenza 3600

in Linee telefoniche
Codice: [Seleziona]
Nome utente: 6001
URI: 6001
Password: 123456
Rete SIP: asterisk

Per abilitare l'avvio automatico di asterisk ad ogni riavvio del modem
Dal terminale SSH
Codice: [Seleziona]
/etc/init.d/asterisk enable

Ogni qualvolta che si aggiunge un numero è necessario riavviare il dialplan
Codice: [Seleziona]
asterisk -r
dialplan reload

Per visualizzare l'elenco delle chiamate ricevute o effettuate basta aprire il file Master.csv
Codice: [Seleziona]
/tmp/log/asterisk/cdr-custom

BUG riscontrati
Nel caso si dovesse disconnettere la linea, il VOIP non riparte in autonomia, bisogna riavviare il mmpbxd
Codice: [Seleziona]
/etc/init.d/mmpbxd restart

Credo di non aver dimenticano nulla.
Penso che parte del codice presente nel file extensions.conf possa essere migliorato, si accettano consigli  ;)

Offline FrancYescO

  • VIP
  • *****
  • 3382
Re:Asterisk su DGA4132 (installazione manuale)
« Risposta #1 il: 07 Aprile 2019, 11:34 »
Complimenti per il tutorial :)

Nel caso si dovesse disconnettere la linea, il VOIP non riparte in autonomia, bisogna riavviare il mmpbxd
in che stato di errore vanno a finire gli account quando accade questo? (se utilizzi ultima GUI Ansuel lo vedi dalla pagina statistiche)
crasha mica il processo di mmpbxd ?

sei sicuro di "Porta proxy primario 5062" ? mi sembra incorretto come settaggio, piuttosto immagino debba essere 0

Se ti interessa guarda questo WIP di @Plasmodium riguardo gestire tutto asterisk dell'interfaccia standard https://github.com/Ansuel/tch-nginx-gui/pull/572/files#diff-1929c90222f43f12b6e67c09333ba85c

Offline chocobo

  • Membro Giovane
  • **
  • 98
Re:Asterisk su DGA4132 (installazione manuale)
« Risposta #2 il: 07 Aprile 2019, 12:03 »
@FrancYescO grazie.
Citazione
in che stato di errore vanno a finire gli account quando accade questo? (se utilizzi ultima GUI Ansuel lo vedi dalla pagina statistiche)
crasha mica il processo di mmpbxd ?
A volte mi è capitato, anche se molto raramente, che ho avuto delle disconnessioni di linea ed il telefono non mi funzionava.
Col riavvio di mmpbxd, tutto si ripristinava. Appena posso, simulo una disconnessione e ti dico.
Ora sto utilizzando la GUI 9.0.49, versione stabile. Con l'ultima DEV, c'era un bug nella pianificazione del WiFi, penso che ora sia stato risolto. Oggi la provo.

Citazione
sei sicuro di "Porta proxy primario 5062" ? mi sembra incorretto come settaggio, piuttosto immagino debba essere 0
Per quanto riguarda la Porta proxy primario 5062, a me funziona. Poi non so se ho sbagliato a configurarla cosi.


Citazione
Se ti interessa guarda questo WIP di @Plasmodium riguardo gestire tutto asterisk dell'interfaccia standard https://github.com/Ansuel/tch-nginx-gui/pull/572/files#diff-1929c90222f43f12b6e67c09333ba85c
Ci darò un occhiata, grazie del consiglio.


Offline FrancYescO

  • VIP
  • *****
  • 3382
Re:Asterisk su DGA4132 (installazione manuale)
« Risposta #3 il: 07 Aprile 2019, 12:19 »
Bhe si in effetti ti funziona perche' e' semplicemente un'opzione superflua avendo il campo proxy primario vuoto :P

Offline chocobo

  • Membro Giovane
  • **
  • 98
Re:Asterisk su DGA4132 (installazione manuale)
« Risposta #4 il: 07 Aprile 2019, 12:36 »
Ho imparato un'altra cosa  :P

Offline Cesarino37

  • Membro Anziano
  • ***
  • 114
Re:Asterisk su DGA4132 (installazione manuale)
« Risposta #5 il: 07 Aprile 2019, 23:07 »
@chocobo scusa ma non mi è chiara una cosa: in questo caso Asterisk è "in parallelo" al mmpbx, giusto? Non funziona come nella blacklist 3.4 beta in cui asterisk si registra al server voip del gestore (ed è l'unico a farlo) e poi mmpbx è in cascata ad asterisk stesso?

Offline chocobo

  • Membro Giovane
  • **
  • 98
Re:Asterisk su DGA4132 (installazione manuale)
« Risposta #6 il: 08 Aprile 2019, 06:34 »
@Cesarino37 Wind non supporta il multilogin e, in questo caso, sarà asterisk a collegarsi col gestore e mmpbx si collegherà all'utente (6001) creato stesso su asterisk nel file users.conf.
mmpbx ci servirà solo per gestire le porte FXS1 e FXS2, cosa non possibile con asterisk.
Con questo tipo di configurazione, si potrebbe utilizzare anche un app sullo smartphone e ricevere le telefonate dal numero voip. Utilizzando, ovviamente, i parametri creati nel file users.conf.
L'ideale sarebbe avere
Codice: [Seleziona]
1) DDNS (per avere un ip statico)
2) OPENVPN (per avere dall'esterno una connessione protetta con la rete domestica)
3) APP per gestire il voip

Offline FrancYescO

  • VIP
  • *****
  • 3382
Re:Asterisk su DGA4132 (installazione manuale)
« Risposta #7 il: 08 Aprile 2019, 11:06 »
Bhe scusa, il layer della VPN puoi anche risparmiartelo semplificando un po' tutto, basta mettere asterisk in ascolto su una porta Wan e loggarti con l'account precedentemente configurato, poi su Android il protocollo SIP è gestito anche dal dialer di sistema :)

Offline Cesarino37

  • Membro Anziano
  • ***
  • 114
Re:Asterisk su DGA4132 (installazione manuale)
« Risposta #8 il: 08 Aprile 2019, 17:47 »
Grazie @chocobo ... in effetti mi ero confuso: asterisk è in cascata, molto interessante  :happy:
Appena ho un attimo provo a configurare seguendo la tua miniguida. In passato con la blacklist 3.4 beta avevo visto che la fonia delle chiamate in entrata (gestore TIM) cadeva dopo 3-4 minuti e credo sia un problema ancora aperto.

@FrancYescO , anch'io vorrei evitare la VPN... magari mettendo una pwd un po' più "articolata" di 123456  :rotfl: ma poi mi è sorto un dubbio: il traffico VOIP fra Asterisk ed un cell Android viaggerebbe cifrato o in chiaro? Potrebbe essere sniffato?

Offline FrancYescO

  • VIP
  • *****
  • 3382
Re:Asterisk su DGA4132 (installazione manuale)
« Risposta #9 il: 08 Aprile 2019, 18:28 »
bhe dipende da come viene configurato asterisk, immagino ci sia modo per criptare anche il protocollo SIP

Offline fabiobassa

  • Esperto
  • ****
  • 728
  • Sesso: Maschio
Re:Asterisk su DGA4132 (installazione manuale)
« Risposta #10 il: 08 Aprile 2019, 23:38 »
Ovviamente il traffico  può essere criptato solo che sale, e non di poco, il lavoro della CPU !

Per quanto riguarda il softphone conviene fare un interno in tecnologia IAX e così aprire UNA sola porta sul modem , casomai avendo cura di modificare l originaria 4569 in qualcosa altro  (24569 ad es) così da rendere " estremamente " improbabile sia il cracking dell account che lo sniffing del traffico

Offline chocobo

  • Membro Giovane
  • **
  • 98
Re:Asterisk su DGA4132 (installazione manuale)
« Risposta #11 il: 09 Aprile 2019, 06:39 »
@FrancYescO E' vero che risparmiando l'installazione dell'OpenVPN si semplificherebbe il tutto, ma è anche vero che la sicurezza sarebbe quasi nulla.

@Cesarino37 la blacklist 3.4 non l'ho mai provato, ho preferito sempre configurare il tutto manualmente. Per esperienza personale, con questo tipo di configurazione, la linea non è mai caduta. Però considera che io l'ho testata solo su WInd

@fabiobassa io preferisco far aumentare il lavoro della CPU ma, allo stesso tempo, avere quel tocco di sicurezza in più con la VPN.
« Ultima modifica: 09 Aprile 2019, 06:45 da chocobo »

Offline fabiobassa

  • Esperto
  • ****
  • 728
  • Sesso: Maschio
Re:Asterisk su DGA4132 (installazione manuale)
« Risposta #12 il: 09 Aprile 2019, 08:22 »
@chocobo
indubbiamente , una vpn è una vpn e da quando ne ho approfondito studio ed utilizzo per me è una manna dal cielo !!

tuttavia rispondevo a @Cesarino37  ( e non l'ho citato) che chiedeva se fosse fossibile non usare una vpn e criptare il protocollo SIP. La risposta è appunto positiva ma dispendiosa in termini di carico CPU.
A quel punto meglio la vpn

Offline Cesarino37

  • Membro Anziano
  • ***
  • 114
Re:Asterisk su DGA4132 (installazione manuale)
« Risposta #13 il: 09 Aprile 2019, 17:46 »
@chocobo , @fabiobassa e @FrancYescO grazie a tutti per i commenti / suggerimenti.
In effetti con la VPN non ci sarebbero più problemi, ma vorrebbe dire essere sempre collegati con casa tramite VPN ogni volta che esci e vuoi poter ricevere sul cell le chiamate che arrivano sul fisso. Nel mio caso 1 o 2 al giorno... e come privato non so se qualcuno sarebbe realmente interessato a "intercettarmi" (per quello che ho da dire). Forse il gioco non vale la candela e mi basterebbe cambiare la porta di default (e utilizzare IAX per semplicità di conf del firewall). Ad ogni modo, sulla carta, concordo sui timori di sicurezza esposti.

Prima o poi ci provo (più per curiosità / interesse intellettuale che per vera necessità)

Offline fabiobassa

  • Esperto
  • ****
  • 728
  • Sesso: Maschio
Re:Asterisk su DGA4132 (installazione manuale)
« Risposta #14 il: 09 Aprile 2019, 20:14 »
@Cesarino37

a questo punto un bell account iax su zoiper, una porta stranissima sull ip pubblico ( porta che dovrai impostare anche su zoiper) , un codec non pesante ne leggero ( alaw va benissimo) e sei piu che tranquillo .

Tra l altro vuoi mettere la possibilita di chiamare casa come un normalissimo interno ??  :D