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

Da Vocesuip.
(Differenze fra le revisioni)
m (Nuova pagina: da un post di _Stefano che potrete trovare [http://www.vocesuip.com/script_per_la_sincronizzazione_dellip_quando_il_fritz_e_in_lan-t7695.0.html;msg6580204#msg6580204 qui] Quando il fr...)
 
m
 
(Una revisione intermedia di un utente non mostrate)
Riga 6: Riga 6:
  
 
Codice:
 
Codice:
#!/bin/sh
+
#!/bin/sh
MYIP=`wget -q -O - http://www.vocesuip.com/getip.php`
+
MYIP=`wget -q -O - http://www.vocesuip.com/getip.php`
while true; do
+
while true; do
  sleep 30
+
    sleep 30
  TEMPIP=`wget -q -O - http://www.vocesuip.com/getip.php 2>&1`
+
    TEMPIP=`wget -q -O - http://www.vocesuip.com/getip.php 2>&1`
  if [ "$TEMPIP" != "$MYIP" ]; then
+
    if [ "$TEMPIP" != "$MYIP" ]; then
      MYIP="$TEMPIP"
+
      MYIP="$TEMPIP"
      voipd -R
+
      voipd -R
  fi
+
    fi
done
+
done
 
Lo stesso script può essere usato da chi fa girare asterisk sul fritz che soffre dello stesso problema di non aggiornamento delle registrazioni.
 
Lo stesso script può essere usato da chi fa girare asterisk sul fritz che soffre dello stesso problema di non aggiornamento delle registrazioni.
  
  
 
Codice:
 
Codice:
#!/bin/sh
+
#!/bin/sh
MYIP=`wget -q -O - http://www.vocesuip.com/getip.php`
+
MYIP=`wget -q -O - http://www.vocesuip.com/getip.php`
while true; do
+
while true; do
  sleep 30
+
    sleep 30
  TEMPIP=`wget -q -O - http://www.vocesuip.com/getip.php 2>&1`
+
    TEMPIP=`wget -q -O - http://www.vocesuip.com/getip.php 2>&1`
  if [ "$TEMPIP" != "$MYIP" ]; then
+
    if [ "$TEMPIP" != "$MYIP" ]; then
      MYIP="$TEMPIP"
+
      MYIP="$TEMPIP"
      export LD_LIBRARY_PATH=/var:/lib
+
      export LD_LIBRARY_PATH=/var:/lib
      /var/chroot /var/asterisk14 asterisk -qrx "sip reload quit" 2> /dev/null 1> /dev/null
+
      /var/chroot /var/asterisk14 asterisk -qrx "sip reload quit" 2> /dev/null 1> /dev/null
 
   fi
 
   fi
done
+
done
 
Questo piccolissimo script, per diventare permanente, deve essere messo in /var/flash/debug.cfg.
 
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.
 
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
+
Quest'ultimo deve essere lanciato nel debug.cfg con il comando
  
 
+
exec /var/flash/safe_ip.sh &
Codice:
+
exec /var/flash/safe_ip.sh &
+

Versione attuale delle 16:38, 22 dic 2008

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.cfg con il comando

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