[HowTo] VOIP-Accounts einer Fritz als IP-Client nach IP-Wechsel registrieren

Nun ja, Barts Script bezieht die IP adresse auch definitiv aus der rudishell:

Code:
new_ip=$(wget -q -O - http://admin:[PWD]@[IP]:81/cgi-bin/[B]rudi_shellcmd.cgi[/B]?script=get_ip | sed -n 's/.*id="cmd_output">//p')

Novizes Skript tut das aber nicht.
 
Ich habe gerade mal Barts script genauer angeschaut, da tauchen bei mir auch ein par Fragen auf:

wozu wird die IP auf Gültigkeit überprüft? ich meine wenn da was falsches drinstehen würde, würde ja keine WAN Verbindung bestehen>> es wäre wurst ob der fasche Eintrag übernommen wird oder nicht, da ohnehin kein VoIp möglich ist.

Des weiteren würde es mich interessieren, ob der Befehl egrep auch auf einer unveränderten FBF7170 verfügbar ist.
Damit könnte ich bei meinem Script das auslesen der WAN Ip Adresse auch etwas sauber mit einem RegExp realisieren.
So wie ich es zusammengefrimelt habe, tut es zwar, aber mit egrep sieht das schon definitiv sauberer und robuster aus.
 
@fritzUser2: Hier wird nicht die erhaltene IP ausgelesen, sondern per whatismyip.org abgefragt, da kann es durch DNS-Fehler (oder was auch immer) schon mal zu unsinnigen Ergebnissen kommen.
 
Dem Bart sein script greift auf eine andere FBF zu, welche als Router und DSL Gateway arbeitet.
Da sollte eigentlich DNS Probleme auszuschließen sein.
Aber ok, wenn das von einem anderen Script kommt, welches auf externe Dienste zugreift, ist das sicherlich vernünftig.
Es wird wohl auch so nicht schaden.
 
Warum lässt man die Slave-FB nicht einfach auch irgendwann rebooten? Die Master-FB macht bei mir täglich zwischen 4 und 5 einen Reconnect, da könnte ich doch auf der Slave was ähnliches einstellen und es wäre ok?
 
Und nach dem Reboot der Client-Fritz hast Du leider einen DSL-Ausfall wegen z.B. Wartungsarbeiten in der Vermittlungsstelle und bist anschliessend 8 Std nicht erreichbar... Soweit zur Idee "Reboot" nach 5 Uhr.
Und dafür musst Du auch entsprechenden Code in der debug.cfg hinterlassen (denn per WEB-Interface lässt sich das nicht realisieren), wenn Du das nicht per Schaltuhr von aussen regelst.
Warum also nicht gleich "richtig" machen? :noidea:
 
[Edit Novize: Unnötiges Fullquote vom Beitrag darüber gelöscht]
Naja, also wenn ich einmal im Monat zwischen 5 und 12 Uhr auf Grund eines DSL Ausfalls nicht erreichbar bin, dann ist das auch nicht so schlimm. Außerdem besteht ja noch die Wahrscheinlichkeit, dass ich selbst einen Anruf tätige und mich anmelde.
Was mir an der Sache nicht gefällt, ist das ist die Webseite nach meiner IP fragen muss. Ich will nicht von anderen Abhängig sein.
 
Dann mache auf die Router-Boxen den ds-mod drauf. (Wie das geht, bitte nicht hier diskutieren, sondern im Forenbereich Modifikation/ds-mod selbst nachlesen. ;))
Dann bist Du nur noch von Deiner eigenen Router-Fritz abhängig. Stichwort "rudishell"

PS: Für dieses Statement war ein Vollzitat vom vorigen Beitrag nun wahrlich nicht nötig- siehe Forumsregeln. Ich habe mal nachgearbeitet.
 
Also ich fasse meine Erfahrungen noch mal kurz zusammen (für die, die das hier lesen und eine passende Lösung für sich suchen).

Novizes Lösung ist die einfachste und bringt eine deutliche Verbesserung.

Für die Lösung von Bart muss man den DS-MOD auf den Boxen installieren, dass ist für Leute die sich damit nicht auskennen zu schaffen, man muss ich damit aber etwas länger beschäftigen. Das Ergebnis ist allerdings, nach meinen Erfahrungen ein sehr viel besseres (bis jetzt war die Box immer erreichbar!).

Mein Fazit: Wer sich zutraut den DS-MOD zu installieren sollte auf die Lösung von Bart mit Rudyshell zurückgreifen, eine Verbesserung erzielt man aber auch bei der Scriptlösung von Novize - und das bekommt man in 20 Minuten hin.
 
Hallo Zusammen,

ich habe eine Fritz Box ATA. Diese läuft hinter einer Fritz Box Fon. Ich habe auch das Problem, dass wenn die Fritz Box Fon die Internetverbindung durch die Zwangstrennung verliert, die VOIP Telefonie bei der Fritz BOX Ata nicht mehr funktioniert. Also eingehende Anrufe werden nicht durchgestellt. Es kommt immer eine Besetztzeichen.

Ich habe jetzt das Script wie in der Anleitung beschrieben installiert. Leider besteht das Problem immer noch.

Wenn ich aber das Tool Dr. Easy FTP starte und hier die IP der Fritz Box ata eintrage und den Befehl Internetverbindung wieder aufbauen ausführe, ist die Fritz Box ata über VOIP sofort wieder erreichbar.

Gibt es kein Script für die Fritz Box ata, dass dies automatisch macht, wenn die Fritz Box Fon die Trennung vollzieht ohne den DS Mod zu installieren.

Kann mir jemand bitte helfen. Vielen Dank im Voraus.
 
Im Moment nicht, da man die WAN IP nicht so leicht auslesen kann, ohne den DS-Mod.

Allerdings ist es sicherlich machbar, ich habe es ja bei meinem Tomato WRT54G auch hinbekommen, obwohl es auch alles .ASP ist.

Nur ist es halt recht aufwendig, herauszufinden, in welcher Datei letztendlich die IP drinsteht.
Ich habe dafür auch eine weile mit Etherreal rum gespielt, bis ich zufällig dann den korrekten 192.168.178.254/status-data.jsx Link gefunden habe.

Da ich im Moment keine FBF im Gateway Modus laufen habe, kann ich bei der Sache nicht weiter behilflich sein.
Aber ich denke den DS-Mod zu installieren ist nicht so schwer, wem das mit der Abhängigkeit wichtig ist, der sollte sich die zeit eben nehmen.
 
Hallo Suppenman,

hast du in deinem Router die entsprechenden ports für deine Fritzbox freigegeben ?
 
Nee viel besser, mit diesem scipt geht es wunderbar zu 100%

cat << 'EOF' >>/var/tmp/debug.cfg
#!/bin/sh
sleep 60
{
new_ip="$(wget -q -O - http://whatismyip.org)"
new_ip="$new_ip"
while true; do
if [ "$new_ip" ] ; then
dsld -s
dsld
fi
new_ip="$new_ip"
new_ip="$(wget -q -O - http://whatismyip.org)"
done
}&
EOF
cat /var/tmp/debug.cfg > /var/flash/debug.cfg
rm -f /var/tmp/debug.cfg
 
Klappt leider nicht

Hallo,

auch ich habe das Problem das ich irgendwann nicht mehr von extern angerufen werden kann. Ich habe 2x die 7050 .

die erste ist am DSL und hat einen Voip Account der wunderbar Funktioniert. Die 2 Box läuft als IP Client und hat auch einen Voip Account . Ich kann von der 2. Box wunderbar telefonieren nur hin und wieder kann ich nicht angerufen werden. Ich habe das Script nun Implementiert in dem ich über The Construct ein Pseudo Image erstellt habe und den Code mit in die Debug.cfg eingefügt habe. Der Code ist auch drinnen nur leider wird nichts im Syslog dekumentiert und es funktioniert leider auch nicht.
Also entweder wird das Script nicht ausgeführt oder er kommt damit nicht klar. Hat jemand ne Idee wie ich das hinbekommen ?

Danke

Sebastian
 
Mit den Angaben nicht.
 
nach was hast du denn im Syslog gesucht?
ansonsten versuch doch mal den dsld neustarten im Skript von Suppenman durch "voipd -R" zu ersetzen.
also:
"dsld -s" und "dsld" raus und "voipd -R" rein
(gehört nat. alles in die 2.Box)
wozu sollte dort auch dsld laufen, wenn du die 2.Box als Client betreibst..
 
Zuletzt bearbeitet:
Hallo,

ich halte Suppenmans Script für sehr gefährlich, so wie es da steht. Zum einen gibt es kein "old_ip" mehr, also keine Referenz, gegen welche die neue IP getestet werden kann, die Bedingung für den Neustart ist also immer wahr.
Dann gibt es in der Schleife kein Sleep mehr: Die Aktion wird also ununterbrochen ausgeführt, eigentlich müsste die Box so quasi dauerhaft ihre Verbindung unterbrechen.

Ich habs zwar selbst nicht ausprobiert, aber meines Erachtens funktioniert das so nicht.

Viele Grüße

Frank
 
Vielleicht besser so (oder so ähnlich)?
Code:
[...]

# whatismyip.org mag es nicht, wenn man zu häufig
# anfragt und liefert dann eine Fehlermeldung statt
# einer IP-Adresse!
# "Error: xx requests received from your IP address in
# the last 60 seconds (current max is 3 but automated
# agents should not query more often than [B]once every[/B]
# [B]10 minutes[/B])"
# Daher den Rückgabe-Text von whatismyip auf
# Plausibilität prüfen, und nicht blind vertrauen,
# dass immer eine IP-Adresse zurückgegeben wird.
# Und SLEEPTIME nicht zu kurz wählen! (Bei 60s
# bekam ich immer wieder Fehler, mit 120 ging es
# dann)


SLEEPTIME=600

get_new_ip()
{
    new_ip="$(wget -q -O - http://whatismyip.org)"
    case "$new_ip" in
        [0-9]*.[0-9]*.[0-9]*.[0-9]*) true ;;
        *) new_ip=""
    esac
}

# IP-Adresse erstmalig ermitteln
get_new_ip
while [ -z "$new_ip" ] ; do
    sleep $SLEEPTIME
    get_new_ip
done
old_ip="$new_ip"

# Regelmäßig prüfen, ob sich IP ändert
while true ; do
    sleep $SLEEPTIME
    get_new_ip
    if [ -n "$new_ip" -a "$new_ip" != "$old_ip" ] ; then
        voipcfgchanged restart
        $old_ip="$new_ip"
    fi
done

[...]
 
Also ich habe das Problem auch schon seit Monaten. Zu meinem Script was ich hier gepostet habe.

Das Script ist totaler Blödsinn. Bitte nicht verwenden, bzw. das Posting editieren. Durch dieses Script läuft eure Box Amok.

Ich habe auch das Problem, dass die Client Box, in meinem Fall die Fritz Box ATA, über die Internetrufnummer nicht mehr erreichbar ist, wenn der davor geschaltete Router, in meinem Fall eine Fritz Box Fon, die Internetverbindung verliert bzw. der Internetprovider die Zwangstrennung vollzieht.

Ich habe mich jetzt telefonisch an den AVM Support gewandt. Dieser hat mir mitgeteilt, dass sie für dieses Problem keine Lösung haben und der Second Level Support mich am Montag also heute zurückrufen wird.

Ich bin wirklich gespannt, was der Support für eine Lösung präsentiert.

Zu dem dsld-s. Ich habe das bei meiner Box ausprobiert. Benutzt einfach das Tool Dr. Easy FIP und gibt dort die IP eurer Fritz Box ein, die keine Anrufe mehr entgegennehmen kann. Wenn ihr Dr Easy FIP ausführt, nachdem die Internetverbindung durch den Router getrennt wurde, ist die Fritz Box die hinter den Router geschaltet ist, sofort wieder erreichbar.

Das Script von Novize funktioniert bei mir leider nicht. Ich benötige nur einen Programmierer der den dsld dsld-s Code in einem Script implementiert, das in die debug.cfg geschrieben werden kann. Das Scipt soll dann durch die Client Box ausgeführt werden, wenn der Router die Internetverbindung verliert.

So ist die Client Box, in meinem Fall die Fritz Box ATA für eingehende Gesprächte sofort wieder erreichbar.

Ich kann diese Idee leider nur nicht umsetzen.
 
Warum geht das Skript von Novice nicht? ich meine es wurde doch schon von vielen erfolgreich benutzt. Mein Skript ist im Wesentlichen ja identisch damit.
Und das funkt auch.

Also klar, das bessere ist des guten Feind, aber so ganz verstehe ich das nicht.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.