Alles aus der Fritz!Box rausholen...

Hier habe ich mal einige Erweiterungen der Fritz!Box (in meinem Fall die 7050) zusammengetragen, welche ich aus diversen Foren etc. zusammengetragen habe.
 
Wichtig:
Vorgenommene Änderung geschehen auf eigene Gefahr und können zum Verlust der Garantie oder sogar zur Zerstörung der Box führen. Ich übernehme natürlich keinerlei Haftung für irgendwelche Probleme, Funktionsstörungen, Ausfälle etc.

WLAN-Aktivierung

Aktivierung per Telefoncode:
 
#96*1* WLAN an
#96*0* WLAN aus

Der CAPI-Server

Aktivierung per Telefoncode:
 
#96*3* CAPI-Server an
#96*2* CAPI-Server aus

Der Telnetzugang

Um an diverse Funktionen heranzukommen, benötigt man unbedingt einen Telnetzugang.
Bei den aktuellen Firmware-Versionen kann man Telnet mittels Telefoncode einschalten, indem man folgenden Code in ein an die Box angeschlossenes Telefon tippt:
 
#96*7* Telnet an
#96*8* Telnet aus
 
Der telnet-daemon wird dann gestartet und bleibt auch nach einem Neustart der Box erhalten.
Passwort beim telnet-login ist auch hier das Kennwort der Fritz!Box Benutzeroberfläche, falls dort eins vergeben wurde.

Das Branding

AVM produziert ihre Boxen für diverse Reseller. Für diese Reseller gibt es diverse Besonderheiten im Vergleich zu der ungebrandeten Version (Branding = AVM). Diese Besonderheiten bedeuten meisten "Einschränkungen"!

Branding abfragen:

In einer Telnet-Sitzung ist folgender Befehl zu verwenden:
cat /proc/avalanche/env | grep firmware
In einer einer späteren Firmware: cat /proc/sys/urlader/environment | grep firmware

Branding ändern:

Wird bei den nachfolgenden Befehlen ein falscher Brand angegeben, dann ist das Web-Interface nicht mehr ereichbar!
 
Box auf AVM setzen:
echo "firmware_version avm" > /proc/avalanche/env
In einer einer späteren Firmware: echo "firmware_version avm" > /proc/sys/urlader/environment
Damit die Änderung wirksam wird ist ein Reboot durchzuführen:
/sbin/reboot
 
Box auf 1und1 setzen:
echo "firmware_version 1und1" > /proc/avalanche/env
In einer einer späteren Firmware: echo "firmware_version 1und1" > /proc/sys/urlader/environment
Damit die Änderung wirksam wird ist ein Reboot durchzuführen:
/sbin/reboot

Landes- und Ortsnetzkennzahlen

In der Standard-Weboberfläche läßt sich normalerweise nur eine Ortsnetzkennzahl (ONKZ) eintragen. Im Regelfall reicht diese Einstellung, damit man bei SIP-Gesprächen im eigenen Ortsnetz die Vorwahl nicht mit eingeben muß. Hat man allerdings einen SIP-Provider im Ausland oder möchte man ENUM richtig nutzen, so sind weitere Eingaben nötig.
Mit den folgenden Befehlen wird das Webinterface um einige Punkte (Konfiuration Internettelefonieanbieter) erweitert. Man kann diese Befehle direkt in einer Telnet-Sitzung eingeben (oder hinein kopieren). Die Erweiterung ist sofort sichtbar, allerdings nach einem Reboot wieder weg. Die vorgenommenen Einstellung sind weiterhin vorhanden, nur nicht mehr sichtbar. Alternativ kann man den Code auch in die /var/flash/debug.cfg einfügen. Somit werden die Befehle nach jedem Reboot neu ausgeführt.
 
sed "s/LKZ 0/LKZ 1/g" /usr/www/all/html/de/fon/sip1.js > /var/tmp/sip1.js
chmod 444 /var/tmp/sip1.js
mount -o bind /var/tmp/sip1.js /usr/www/all/html/de/fon/sip1.js
 
Die Konfiguration eines SIP-Providers würde dann so aussehen:
 

ENUM

ENUM ist ein Thema welches im Internet ausgiebig beschrieben und diskutiert wird. Ich möchte an dieser Stelle nur darauf eingehen, welchen Nutzen man mit der Fritz!Box daraus ziehen kann.
Aber trotzdem ein paar Worte zu VoIP mit und ohne ENUM. Das Telefonieren über das Internet basiert heute (Anfang 2006) darauf, daß man sich mit einem SIP-Provider verbindet, der die Gespräche zu dem Angerufenen vermittelt bzw. überträgt. Die Motivation überhaupt über das Internet zu telefonieren begründet sich zumeist dadurch, daß die SIP-Provider eine Telefonie-Flat-Rate anbieten oder zumindest recht geringe Gesprächskosten verlangen.
Vor diesem Kostenmäßigen Hintergrund stellt sich natürlich die Frage, warum ich etwas anders machen sollte, da mich ein Telefongespäch ja eh nichts kostet.
Hier sollte ich dann kurz beschreiben, wie VoIP mit ENUM aussieht. Beim Einsatz von ENUM baut man eine Telefonverbindung nicht mehr über seinen SIP-Provider auf, sondern direkt zu seinem Gesprächspartner über das Internet(!). Dies ist bei Auslandsverbindungen sehr interessant da diese normalerweise nicht über den Flat-Tarif abgegolten sind. Wer aber nicht viel ins Ausland telefoniert, den mag aber vielleicht, so wie mich, der technologische Ansatz interessieren.
Das eigentlich interessante an ENUM ist die Tatsache, daß ich bei der richtigen Konfiguration keine anderen Bedienprozeduren am Telefon durchführen muß, sondern wie gehabt die Rufnummer eintippen und fertig.
Folgende Voraussetzungen sind für die Nutzung von ENUM erforderlich:

Konfiguration für ausgehende Verbindungen

1) Einstellung der Landes- und Ortsnetzkennzahlen

Die Landes- und Ortsnetzkennzahlen sind, wie oben beschrieben, einzustellen. Werden dies Einstellungen nicht vorgenommen, so verläuft die Rufnummernabfrage für Rufnummern im eigenen Ortsnetz nicht korrekt. Die Folge ist, daß diese Verbindungen dann immer über den SIP- Provider laufen. Das ist sicher nicht schlimm, aber wenn, dann wollen wir es auch richtig machen. :-)

2) Einschalten des ENUM-Support auf der Fritz!Box

Die Fritz!Box bietet die Möglichkeit abzufragen, ob und wie der Gesprächspartner über das Internet erreichbar ist. Damit mit die Box diese Frage auch stellt, muß der ENUM-Support eingeschaltet werden. Dies ist wiederum mit der Erweiterung des Webinterfaces möglich:
 
sed "s/avme/avm/g" /usr/www/all/html/de/fon/sipoptionen.js > /var/tmp/sipoptionen.js
chmod 444 /var/tmp/sipoptionen.js
mount -o bind /var/tmp/sipoptionen.js /usr/www/all/html/de/fon/sipoptionen.js
 
Nun kann ENUM unter Telefonie -> Internettelefonie -> Erweiterte Einstellungen aktiviert werden.
 
Alternativ kann in der Datei /var/flash/voip.cfg der Eintrag enum_support_enabled auf yes geändert werden.
Dies geschieht über eine Telnet-Sitzung und unter Verwendung des Editors NVI:
nvi /var/flash/voip.cfg
Damit die Änderung wirksam wird ist ein Reboot durchzuführen:
/sbin/reboot
Eine Bedienungsanleitung für den VI gibt es hier: http://www.linux-fuer-alle.de/doc_show.php?docid=29&catid=8

3) Entfernen des SIP-Proxy-Eintrags

Ist in den Einstellung es Internettelefonieanbieters ein Proxy-Server eingetragen, so ist die Eintrag zu löschen. Ggf. ist der Eintrag nur sichtbar, wenn unter Internettelefonieanbieter "anderer Anbieter" ausgewählt wurde. Die Einstellungen für den gewählten Anbieter bleiben erhalten.
Das Entfernen des Proxy-Servers ist erforderlich, da sonst jeder Gesprächsaufbau über diesen Anbieter geführt wird und ENUM somit nicht zum Tragen kommt.

Testen der Einstellungen

Zum Testen der Einstellungen ist die Seite http://enum-test.at sehr hilfreich. Weiterhin sollte man sich in einer Telnet-Sitzung die Debug-Ausgaben anschauen. Hier tauchen dann Einträge über den ENUM-Request auf.

Konfiguration für eingehende Verbindungen

Damit wir unter unserer Festnetz(!)rufnummer über das Internet erreichbar sind, müssen wir die Rufnummer als ENUM-Domäne registrieren lassen. Für Deutschland, also der Rufnummernbereich +49 ist an das DENIC deligiert worden. Hier sind auch alle Registrare nachzulesen http://www.denic.de/de/enum/mitgliederliste-enum/enum.jsp.
Anschauen sollte man sich http://www.enum-trial.de und http://www.portunity.net.
 
Nachdem man seine ENUM-Domäne hat muß man hierin noch einen entsprechenden SIP-Eintrag vornehmen. Bei einigen wenigen VoIP-Providern ist dies in der Form username@provider.de oder voip-rufnummer@provider.de möglich. Viele Provider blocken allerdings Anrufe von außen ab.
 
Um der Willkür der VoIP-Provider zu entgehen, sollte man sich einen dynamischen DNS-Namen, sofern noch nicht geschehen, zulegen. Führend und auch zuverlässig ist hier sicherlich DynDNS. Nach der Anmeldung ist der Name in der Box unter Internet -> Dynamic DNS zu konfigurieren. Wer eine feste IP hat, der kann sich das natürlich sparen.
 
Ab jetzt können wir direkt per SIP erreicht werden. Die SIP-URI lautet dann username@mein-name.dyndns.org bzw. voip-rufnummer@mein-name.dyndns.org.
Tipp: Welcher Eintrag funktioniert, kann man leicht nachprüfen, wenn man die SIP-URI als Kurzwahlziel in der Box einträgt und dieses dann anruft.
 
Da ich ein neugieriger Mensch bin, will ich natürlich wissen, welche Anrufe über ENUM zustande gekommen sind. Aus diesem Grund habe ich einen weiteren Internettelefonieanbieter in der Fritz!Box konfiguriert. Ich habe eine willkürliche Rufnummer (z.B. 4711) gewählt und diese dann als MSN in meiner ISDN-TK-Anlage eingetragen. Die SIP-URI lautet jetzt 4711@mein-name.dyndns.org. Kommen nun Gespräche hierüber rein, so sind diese in der Gebührenauswertung nachvollziehbar.
 

 
Jetzt versucht sich die Fritz!Box ständig bei diesem SIP-Provider anzumelden. Da dies natürlich nicht klappt, werden haufenweise Logeinträge erzeugt. Es gibt aber einen Trick, mit dem man die Fritz!Box dazu überredet sich nicht anzumelden:
In der Datei /var/flash/voip.cfg wird der Eintrag do_not_register auf yes geändert. Es ist darauf zu achten, daß der Eintrag bei dem richtigen SIP-Anbieter geändert wird. Dieser ist aber leicht an dem Eintrag name zu identifizieren, hinter dem die selbstgewählte Rufnummer steht.
Die Änderung wird über Telnet mit NVI wie oben beschrieben vorgenommen. Damit die Änderung wirksam wird ist hier wiederum ein Reboot durchzuführen.
 
Counter