Vai ai contenuti

Vita Da Zazu

Pensieri, idee strampalate, accrocchi e pazzie

Archivio

Tag: sip

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})

GXP2000-pic

Ok, se sei arrivato qui hai tentato di aggiornare il firmware di un GXP-2000 e qualcosa è andato storto. :(

Non è detto che un aggiornamento fallito comporti l’aver “brickato” definitivamente il telefono…

come capire se il nostro telefono è recuperabile?

i sintomi di un brick reversibile sono:

  • led tutti accesi e luce MWI lampeggiante;
  • una scritta sullo schermo ci informa che sta tentando il recovery del firmware via TFTP.

In queste condizioni il nostro telefono può essere resuscitato;

armati di buona volontà iniziamo ad allestire la sala operatoria:

personalmente uso OpenSUSE come sistema operativo, quindi alcuni dei comandi usati saranno prettamente validi solo su questa distribuzione.

Ci occorrerà un server TFTP:

# zypper in atftp

ora dobbiamo configurare ed attivare il server TFTP;

per prima cosa occorre creare la cartella “root” del nostro server (per comodità io l’ho creata sul mio desktop):

$ mkdir /home/zazu/Scrivania/tftp

ora scarichiamo dal sito della Granstream l’ultimo firmware disponibile per il GXP2000 e scompattiamo il tutto dentro la nostra cartella “tftp”, i files strettamente necessari sono: “boot55.bin” e “gxp2000.bin” ma per sicurezza meglio metterli tutti ;)

adesso dobbiamo avviare il server, lo facciamo molto semplicemente con questo comando:

# atftpd --daemon /home/zazu/Scrivania/tftp/

per verificarne il funzionamento, con “netstat -natup | grep 69″ possiamo verificare l’esistenza del server tftp in ascolto.

PASSO 2

Configuriamo la rete e abbassiamo SuSEfirewall.

Consiglio di mettere uno switch tra noi e il telefono per evitare di perdere le configurazioni della nostra scheda di rete;

i parametri da impostare sono i seguenti:

# rcSuSEfirewall2 stop
# ifconfig eth0 168.75.215.188 netmask 0.0.0.0 up
# route add default gw 168.75.215.188

Adesso accendiamo il nostro Grandstream (collegato allo switch) e se tutto è corretto questo inizierà il recovery  TFTP  e sarà in grado di recuperare il firmware dal nostro computer

quando avrà finito sarà diventato nuovamente funzionante :)

WordPress SEO fine-tune by Meta SEO Pack from Poradnik Webmastera