Nostri Script - Check Registration Trunk
Quando cade ADSL, Asterisk si blocca
Valido per tutte le distro con FreePBX (Trixbox, Elastix, PBXInaFlash, AsteriskNOW)
Il problema esiste ! Quando la ADSL non va o in generale non funziona il DNS, Asterisk si blocca (anche le chiamate tra telefoni interni). Questo accade nei casi in cui siano configurati Trunk/Sip con stringa di registrazione.
Con questo script vengono gestiti i Trunk VoIP che, in caso di caduta della ADSL, causano il blocco di asterisk.
Funzionamento:
Lo script ogni minuto (in base alla impostazione che darete sul crontab, che vedremo più avanti) fa un ping verso www.google.it (anche questo potete modificarlo a Vostro piacimento) e nel caso in cui non ci sia risposta provvede a:
- modificare le tabelle di FreePBX, relativamente ai Trunk/SIP, che hanno valorizzarione nel campo "register" (le linee VoIP) mettendo valore "1" al campo "flags"
- modificare il paramentro che indica la disabilitazione del Trunk (nella tabella "globals" => "OUTDISABLE_XX = on"
- eseguire il ripristino delle configurazioni di asterisk (esegue "retrieve_conf")
- fare il reload di asterisk
Al contrario, quando il ping ritorna la risposta (la linea ADSL si riprende) provvede a:
- modificare le tabelle di FreePBX, relativamente ai Trunk/SIP, che hanno valorizzarione nel campo "register" (le linee VoIP) mettendo nei campi "flags" i valori originali
- modificare il paramentro che indica la disabilitazione del Trunk (nella tabella "globals" => "OUTDISABLE_XX = off"
- eseguire il ripristino delle configurazioni di asterisk (esegue "retrieve_conf")
- fare il reload di asterisk
Le caratteristiche fondamentali di questo script sono:
- mantiene le impostazioni di FreePBX. Per cui anche se si fanno modifiche su FreePBX, queste non influiscono sul funzionamento
- quando i Trunk vengono disabilitati, FreePBX li vede come tali (e anche voi)
- non c'è necessità di utilizzare dnscache (se c'è è meglio, ma non è indispensabile)
- le chiamate in corso non cadono
INSTALLAZIONE
Scaricare il file tar e scompattarlo in /var/lib/asterisk/bin
Aggiungere al crontab:
* * * * * /usr/bin/php /var/lib/asterisk/bin/our_checktrunkvoip.php
Buon lavoro a tutti !!!










