A seguito di un aggiornamento di Asterisk e qui sono stato stupido per non aver prima fatto un backup :roll:, ricordate bambini, il backup è una cosa importante, più delle forbici dalla punta arrotondata!

Insomma, mi sono ritrovato con il mio centralino casalingo che non effettuava più chiamate uscenti da nessun account VOIP;

dato che prima funzionava, poi ha smesso, 2+2=3,5… la colpa è dell’aggiornamento!

Quindi, armato di pazienza e anche di tempo, perché ho perso 4 o 5 giorni dietro al problema bestemmiofero, sono giunto a riscrivere una configurazione funzionante anche nell’ultima relase di asterisk…

vado qui ad illustrare:

sip.conf   pre-aggiornamento sip.conf post-aggiornamento
[general]
bindport=5060
context=incoming
udpbindaddr=0.0.0.0
tcpenable=no
tcpbindaddr=0.0.0.0
disallow=all
allow=ulaw
qualify=yes
language=it
dtmfmode=info
localnet=172.16.10.0/24
rtptimeout=60
rtpholdtimeout=300

;messagenet
register => 5xxxxxx:YYYYYYYY@sip.messagenet.it:5061
/messagenet

;chepnet
register => 6969xxxxxx:YYYYYYYY@sip.cheapnet.it
/cheapnet

[cheapnet]
type=peer
defaultuser=6969xxxxxx
fromuser=6969xxxxxx
secret=YYYYYYYY
host=sip.cheapnet.it
port=5060
insecure=port,invite
context=incoming
nat=yes
srvlookup=yes
canreinvite=no
disallow=all
allow=gsm
allow=ulaw
allow=alaw
allow=g726
allow=ilbc

[messagenet]
type=peer
defaultuser=5xxxxxx
fromuser=5xxxxxx
secret=YYYYYYYY
host=sip.messagenet.it
port=5061
insecure=port,invite
context=incoming
nat=yes
srvlookup=yes
canreinvite=no
disallow=all
allow=gsm
allow=ulaw
allow=alaw
allow=g726
allow=ilbc

[general]
bindport=5060
context=incoming
udpbindaddr=0.0.0.0
tcpenable=no
tcpbindaddr=0.0.0.0
disallow=all
allow=ulaw
language=it
dtmfmode=info
localnet=172.16.10.0/24
rtptimeout=60
rtpholdtimeout=300

;messagenet
register => 5xxxxxx:YYYYYYYY@sip.messagenet.it:5061
/messagenet

;chepnet
register => 6969xxxxxx:YYYYYYYY@sip.cheapnet.it
/cheapnet

[cheapnet]
type=peer
defaultuser=6969xxxxxx@sip.cheapnet.it
fromuser=6969xxxxxx
secret=YYYYYYYY
host=sip.cheapnet.it
fromdomain=sip.cheapnet.it
outboundproxy=sip.cheapnet.it
realm=sip.cheapnet.it
port=5060
regseconds=60
insecure=port,invite
context=incoming
qualify=yes
nat=yes
srvlookup=yes
canreinvite=no
directmedia=no
disallow=all
allow=gsm
allow=ulaw
allow=alaw
allow=g726
allow=ilbc

[messagenet]
type=peer
defaultuser=5xxxxxx@sip.messagenet.it
fromuser=5xxxxxx
secret=YYYYYYYY
host=sip.messagenet.it
fromdomain=sip.messagenet.it
outboundproxy=sip.messagenet.it
realm=sip.messagenet.it
port=5061
regseconds=60
insecure=port,invite
context=incoming
qualify=yes
nat=yes
srvlookup=yes
canreinvite=no
directmedia=no
disallow=all
allow=gsm
allow=ulaw
allow=alaw
allow=g726
allow=ilbc

per completezza questo è quanto serve dentro extensions.conf affinché quanto scritto sopra funzioni:

[incoming]

exten => cheapnet,1,Dial(SIP/INTERNO)
exten => messagenet,1,Dial(SIP/INTERNO)

[outgoing]

exten => _53.,1,Dial(SIP/${EXTEN}@messagenet)
exten => _XXX.,1,Macro(dial-failover,SIP/${EXTEN}@messagenet,SIP/${EXTEN}@cheapnet)

[macro-dial-failover]

exten => s,1,Dial(${ARG1})
exten => s,2,Goto(s-${DIALSTATUS},1)
exten => s-CONGESTION,1,Dial(${ARG2})