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

Da Vocesuip.
Versione delle 13:49, 20 mag 2008, autore: Massinge (Discussione | contributi)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

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:

  1. !/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:

  1. !/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


Codice: exec /var/flash/safe_ip.sh &

Strumenti personali