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
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.cg con il comando
  
 
+
exec /var/flash/safe_ip.sh &
Codice:
+
exec /var/flash/safe_ip.sh &
+

Versione delle 13:51, 20 mag 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.cg con il comando

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