Riavviare Dongle GSM quando si disconnette

sezione dedicata alle tecnologie Voice Over IP

Riavviare Dongle GSM quando si disconnette

Messaggio da leggereda root » 05/12/2018, 16:08

A volte capita che il chiavino GSM (chan_dongle) si disconnetta da Asterisk e non ci sia piu' verso di farlo riconnettere se non riavviando il server.

Ecco uno script che verifica se il chiavino e' connesso (status:FREE), se non lo fosse resetta il chiavino e poi riavvia FreePBX (e Asterisk)

su - root

nano /root/check-dongle.sh


Codice: Seleziona tutto
#!/bin/bash
# check dongle status, reset dongle and restart asterisk if not ready
# by pilovis - check my tutorials at www.49v.com
#
checkifok=`/usr/sbin/asterisk -rx "dongle show device state dongle0" | grep -wc Free`
if [[ $checkifok == 0 ]]; then
/bin/echo "Dongle not ready" >/dev/null 2>&1
/bin/sleep 3
/usr/sbin/asterisk -rx "dongle reset dongle0"
/bin/sleep 2
/usr/local/sbin/amportal restart
else
/bin/echo "Dongle OK" >/dev/null 2>&1
fi
# eof


settaggio permessi di esecuzione allo script:

chmod 755 /root/check-dongle.sh

lo script va lanciato con il comando:

/bin/bash /root/check-dongle.sh

per metterlo in un crontab che lancia il controllo ogni 5 minuti:

crontab -e

*/5 * * * * /bin/bash /root/check-dongle.sh &

---------------------------------------------------------

nota esplicativa:

per verificare la connessione del dongle ad Asterisk questo e' il comando:

/usr/sbin/asterisk -rx "dongle show device state dongle0" | grep -wc Free

se il dongle e' in status Free (connesso) viene riportato il valore 1, altrimenti il valore e' 0

invece il comando:

/usr/sbin/asterisk -rx "dongle reset dongle0"

invia un reset al dongle tramite Asterisk

nota:
se si hanno piu' chiavini occorre ovviamente aggiungere identiche sezioni (o meglio creando altri scripts) utilizzando dongle1, dongle2, ecc.
Maurizio
Avatar utente
root
Amministratore
 
Messaggi: 394
Iscritto il: 10/04/2012, 10:55
Località: Turin

Torna a Asterisk e VOIP

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

cron