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 suDGA4132
FW: 2.0.1_001
GUI 9.0.X
Dal terminale SSH, installiamo: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
[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
[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
[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
[general]
enable=yes
unanswered = yes
cdr_manager.conf
[general]
enabled = yes
cdr_custom.conf
[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
NB: per far funzionare la risposta automatica, nella cartella /etc/asterisk, ci dovrà essere il file music.alaw
[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() {" [ -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
GlobaleNome: Asterisk
Registrar primario 127.0.0.1
Porta registrar primario 5062
Porta proxy primario 5062
Porta locale 5064
Scadenza 3600in
Linee telefonicheNome utente: 6001
URI: 6001
Password: 123456
Rete SIP: asteriskPer abilitare l'avvio automatico di asterisk ad ogni riavvio del modem
Dal terminale SSH
/etc/init.d/asterisk enable
Ogni qualvolta che si aggiunge un numero è necessario riavviare il dialplan
asterisk -r
dialplan reload
Per visualizzare l'elenco delle chiamate ricevute o effettuate basta aprire il file
Master.csv/tmp/log/asterisk/cdr-custom
BUG riscontratiNel caso si dovesse disconnettere la linea, il VOIP non riparte in autonomia, bisogna riavviare il mmpbxd
/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
