In diesem Thread kam die Idee auf, per Skript zu ueberwachen, ob ein IP-Wechsel stattfindet und ggf. Asterisk die Konfiguration neu laden zu lassen. Ich habe ein passendes Skript geschrieben, Download unter
http://voip.otaku42.de/asterisk/downloads/ip-watch/.
Das Skript ermittelt zunaechst die aktuelle IP-Adresse mit Hilfe von http://checkip.dyndns.org. Dann schaut es, welche IP-Adresse Asterisk als externip "kennt" (falls als externip ein DynDNS-Name angegeben wird holt das Skript die Informationen aus einer dafuer angelegten temporaeren Datei). Wenn sich die IP geaendert hat, wird die aktuelle IP in sip.conf eingetragen (wenn dort kein DynDNS-Name verwendet wird) und anschliessend per Remote-Shell ein reload-Befehl abgesetzt.
Die Konfiguration des Skriptes wird im Skript selbst ueber einige Variablen durchgefuehrt. Die Bedeutung jeder Einstellung ist dort auch kurz erklaert. Wenn die Konfiguration fuer das eigene System angepasst ist und man ein Backup der aktuellen Asterisk-Config durchgefuehrt hat, kann man loslegen.
Will man das Skript als Cronjob laufen lassen, muss man die Variable INTERVAL auf 0 setzen (damit es nur einen Test durchfuehrt und sich dann wieder beendet). Setzt man INTERVAL auf einen Wert groesser 0, kann man das Skript auch im Hintergrund laufen lassen (z.B. durch ./astipwatch & - es testet dann alle X Sekunden, ob sich die IP-Adresse geaendert hat.
Viel Spass beim ausprobieren
Fragen, Anregungen etc. bitte hier in diesem Thread.
Ciao, Mike
http://voip.otaku42.de/asterisk/downloads/ip-watch/.
Das Skript ermittelt zunaechst die aktuelle IP-Adresse mit Hilfe von http://checkip.dyndns.org. Dann schaut es, welche IP-Adresse Asterisk als externip "kennt" (falls als externip ein DynDNS-Name angegeben wird holt das Skript die Informationen aus einer dafuer angelegten temporaeren Datei). Wenn sich die IP geaendert hat, wird die aktuelle IP in sip.conf eingetragen (wenn dort kein DynDNS-Name verwendet wird) und anschliessend per Remote-Shell ein reload-Befehl abgesetzt.
Die Konfiguration des Skriptes wird im Skript selbst ueber einige Variablen durchgefuehrt. Die Bedeutung jeder Einstellung ist dort auch kurz erklaert. Wenn die Konfiguration fuer das eigene System angepasst ist und man ein Backup der aktuellen Asterisk-Config durchgefuehrt hat, kann man loslegen.
Will man das Skript als Cronjob laufen lassen, muss man die Variable INTERVAL auf 0 setzen (damit es nur einen Test durchfuehrt und sich dann wieder beendet). Setzt man INTERVAL auf einen Wert groesser 0, kann man das Skript auch im Hintergrund laufen lassen (z.B. durch ./astipwatch & - es testet dann alle X Sekunden, ob sich die IP-Adresse geaendert hat.
Viel Spass beim ausprobieren
Fragen, Anregungen etc. bitte hier in diesem Thread.
Ciao, Mike