Script per la sincronizzazione dell'IP quando il Fritz è in LAN

Da Vocesuip.

da un post di _Stefano che potrete trovare qui

Quando il fritz è in LAN, quindi non è lui a fare da router, e per qualche motivo l'IP pubblico cambia, il risultato è quello di non ricevere più chiamate semplicemente perché la registrazione fatta sul provider ha memorizzato il vecchio IP pubblicoe invia a quello le chiamate. Per ovviare, io e VoIP abbiamo elaborato questo script.


Codice:

#!/bin/sh
MYIP=`wget -q -O - http://www.vocesuip.com/getip.php`
while true; do
   sleep 30
   TEMPIP=`wget -q -O - http://www.vocesuip.com/getip.php 2>&1`
   if [ "$TEMPIP" != "$MYIP" ]; then
      MYIP="$TEMPIP"
      voipd -R
   fi
done

Lo stesso script può essere usato da chi fa girare asterisk sul fritz che soffre dello stesso problema di non aggiornamento delle registrazioni.


Codice:

#!/bin/sh
MYIP=`wget -q -O - http://www.vocesuip.com/getip.php`
while true; do
   sleep 30
   TEMPIP=`wget -q -O - http://www.vocesuip.com/getip.php 2>&1`
   if [ "$TEMPIP" != "$MYIP" ]; then
      MYIP="$TEMPIP"
      export LD_LIBRARY_PATH=/var:/lib
      /var/chroot /var/asterisk14 asterisk -qrx "sip reload quit" 2> /dev/null 1> /dev/null
  fi
done

Questo piccolissimo script, per diventare permanente, deve essere messo in /var/flash/debug.cfg.

Per i più esperti può anche essere messo in un file a parte, sempre in /var/flash chiamandolo ad esempio safe_ip.sh e dandogli i permessi di esecuzione. Quest'ultimo deve essere lanciato nel debug.cg con il comando

exec /var/flash/safe_ip.sh &
Strumenti personali