Callback mit der Fritzbox
Callback bedeutet im Zusammenhang mit Telefonie ein Verfahren, bei dem ich durch einen "Lockruf" einen Rückruf auf mein Telefon auslöse, diesen Rückruf annehme und dann erst die gewünschte Telefonnummer eingebe. Der Gesprächsaufbau erfolgt also zweistufig über eine Zwischenstation. Dieses Verfahren bietet sich z. B. dann an, wenn die Gesprächskosten für ein direkt aufgebautes abgehendes Gespräch höher sind als die für ein ankommendes Gespräch plus die Kosten der weitervermittelten Verbindung.
Konkret: Wenn ich einen Mobilfunkvertrag habe, bei dem ich auf dem Mobiltelefon zu Festnetzkonditionen erreichbar bin ( z. B. bei dem Anbieter simquadrat) und zu Hause eine Flatrate für Gespräche ins Festnetz, kann ich auf diese Weise unbegrenzt kostenlose Gespräche vom Mobiltelefon ins Festnetz führen. Auch sind Gespräche zu günstigeren (Festnetz-)konditionen ins Ausland möglich, die Nutzung von Call by Call - Tarifen usw.
Trotz dieser interessanten Möglichkeiten ist Callback eher etwas für Tüftler als für die breite Masse. Ich habe die Erfahrung gemacht, dass die meisten Menschen, gleich welchen Alters, lieber 20 Euro im Monat an Gesprächskosten zahlen, als umständliche aber kostengünstige Verfahren wie Callthrough oder Callback zu nutzen.
Bei mir persönlich ist es so, dass ich eher selten, und wenn dann kurz, Gespräche vom Handy aus führe. Dass ich mich dennoch so intensiv mit dieser Sache befasst habe ist eher meinem technischen Interesse geschuldet als dem ganz und gar nicht geilen Geiz.
Es gab ein Programm namens Talkmaster-Lockruf, das für kleines Geld zu bekommen war und mit dem man in Verbindung mit einem ISDN-Anschluss und einer ISDN-Karte im PC so etwas relativ einfach realisieren konnte. Leider bietet der Autor dieses Programm wegen geringer Nachfrage seit 31.12.2013 nicht mehr an. Ein ähnliches Programm ist McDialer. Der Nachteil dieser Lösung ist allerdings, dass dann der PC mit der ISDN-Karte ständig in Betrieb sein muss und alleine die Stromkosten dafür im Monat höher sein können als die einer Festnetz-Flatrate für das Mobiltelefon. Außerdem benötigt ein über das ISDN per Callback aufgebauter Anruf beide Sprachkanäle des ISDN und ist daher überhaupt nur möglich, wenn zu Hause gerade keiner telefoniert. Ich habe diese Lösung daher nicht weiter verfolgt.
Besser wäre es, man könnte ein Callback über eine sowieso vorhandene und ständig am Netz hängende Fritzbox Fon auslösen. Dies hätte überdies den Vorteil, dass sich auch Voice over IP - basierte Telefonanschlüsse einbinden ließen.
Aber - leider leider - die Fritzboxen bieten im Normalbetrieb zwar die Möglichkeit an, ein "Callthrough" (zweistufiger Gesprächsaufbau durch Anwahl der Fritzbox, Eingabe einer PIN und Weiterwahl auf einer an die Fritzbox angeschlossenen Telefonleitung) einzurichten, nicht aber das hier gewünschte Callback. Programmtechnisch wäre das zwar ohne weiteres möglich, aber AVM als Hersteller der Fritzbox will es sich sicherlich nicht mit den Providern verscherzen, denen durch eine breite Nutzung des Callback Einnahmen entgingen.
Möglich wird das Callback mit der Fritzbox nur durch eine modifizierte Firmware. Dabei gibt es verschiedene Lösungsmöglichkeiten. Ich will hier konkret eine dieser Möglichkeiten vorstellen, die ich selbst realisiert habe und die funktioniert. Dies deshalb, weil ich festgestellt habe, dass sehr viele Anleitungen dazu im Umlauf sind, die unübersichtlich und teilweise überholt sind. Selbstverständlich übernehme ich keine Haftung für fehlgeschlagene Versuche. Die Sache wird nicht ganz so einfach.
Ich habe mir dazu auf eine Fritzbox Fon 7170 (ein Modell, das heute massenhaft für weniger als 20 Euro bei ebay-Kleinanzeigen angeboten wird) die Firmware-Modifikation "Freetz" mit dem Modul "Callmonitor" gezogen. Bevor ich schrittweise beschreibe, wie das zu bewerkstelligen ist, erstmal eine Erklärung, wie das Callback nach erfolgter Modifikation der Fritzbox abläuft:
In den "Callmonitor" kann ich Regeln ("Listeners") eintragen, die der Fritzbox sagen, was sie bei bestimmten Anrufen (Ereignissen) tun soll (Aktionen). Wenn ich als "Ereignis" den nicht angenommenen Anruf von meiner Mobilfunknummer auf eine bestimmte in der Fritzbox registrierte Telefonnummer (z. B. eine MSN meines ISDN) definiere, kann ich durch einen "Lockruf" mit meinem Mobiltelefon auf dieser MSN (einmal klingeln lassen und auflegen) eine Aktion auslösen. Der Ereignisteil meiner Regel sieht damit so aus:
in:cancel ^(xxxxxxxxxxxx) ^1234567
wobei xxxxxxxxxxxx die anrufende Mobilnummer und 1234567 die für den "Lockruf" reservierte MSN ist.
Was soll die Fritzbox jetzt machen? Natürlich mich zurückrufen. Dafür lässt sich die in der Fritzbox enthaltene Funktion "Wählhilfe" nutzen (zu finden im Fritzbox-Menue unter "Telefonbuch"). Normalerweise funktioniert die Wählhilfe so, dass ich im Telefonbuch der Fritzbox auf einen Eintrag klicke und die Fritzbox dann das Gespräch aufbaut. Parallel dazu klingelt es an dem im Menue unter "Wählhilfe" ausgewählten Telefon (analoge Nebenstellen 1, 2 oder 3 oder interner ISDN-Bus der Fritzbox) als Aufforderung, das von mir angeforderte Gespräch entgegenzunehmen. Die "Wählhilfe" funktioniert nur, wenn der Zugang zur Oberfläche der Fritzbox mit einem Kennwort gesichert ist (sollte man sowieso immer so machen).
Die Wählhilfe lässt sich auch als "Aktion" im Callmonitor eintragen. Der Aktionsteil meiner Regel sieht dann so aus:
ctlmgr_ctl w telcfg command/Dial xxxxxxxxxxxx
Dieser Befehl bedeutet: Ruf meine Mobilnummer an und übergib das Gespräch an das bei der Wählhilfe eingetragene Telefon. Der Anruf erfolgt über die Leitung, die im Menue der Fritzbox unter "Wahlregeln" dafür zugelassen ist. Das kann eine Festnetzleitung oder eine in der Fritzbox eingetragene Voice over IP - Leitung sein.
Die komplette Regel für das Callback lautet also:
in:cancel ^(xxxxxxxxxxxx) ^1234567 ctlmgr_ctl w telcfg command/Dial xxxxxxxxxxxx
Der einfache Befehl "Dial", wie er in vielen Anleitungen, auch auf der Freetz-Seite, beschrieben wird, hat bei mir nicht funktioniert!
Wir sind jetzt so weit, dass mein Handy zurückgerufen wird und es an dem bei der Wählhilfe eingetragenen Telefon (z. B. dem Anschluss Fon 1 der Fritzbox) klingelt. Leider kann man von da aus keine direkte Weiterleitung einrichten und auch nicht direkt die Callthrough-Funktion der Fritzbox nutzen. Denn aus Sicht der Fritzbox handelt es sich ja auch dann, wenn das Fon 1 klingelt, nicht um ein ankommendes, sondern um ein (von der Wählhilfe aufgebautes) abgehendes Gespräch.
Das kann man aber ändern, indem man den auf Fon 1 wartenden Rückruf über eine Kabelbrücke nochmals durch die Fritzbox durchführt. Hierzu muss der interne Telefonausgang Fon 1 mit dem externen analogen Amtseingang der Fritzbox verbunden werden. Die entsprechenden PIN-Belegungen bei der Fritzbox 7170 erfordern in jedem Fall etwas Bastelarbeit, da bei dieser Box der DSL-Eingang, der externe ISDN-Port und der externe analoge Telefonport auf einer einzigen RJ45 - Buchse liegen. Der interne Telefonausgang 1 liegt immer auf den mittleren beiden Pins der RJ11-Buchse (Achtung: Es gibt zwei Versionen der 7170, eine mit einer einzigen RJ11, auf der alle 3 internen analogen Telefonanschlüsse herausgeführt werden, eine mit zwei Buchsen für Fon 1 und für Fon 2 und Schraubklemmen für Fon 3).
Den externen analogen Telefonport kann man gleichzeitig mit dem externen ISDN-Port nutzen, auch wenn die Benutzeroberfläche der Fritzbox analog und ISDN als sich ausschließende Alternative erscheinen lässt. Dazu bei den Festnetzeinstellungen zunächst eine Nummer für das analoge Amt eintragen (z. B. 00000), speichern, dann auf ISDN gehen und die vorhandenen MSNs eintragen, dann auf speichern und auf "Abbrechen" klicken, wenn die Fritzbox die analogen Daten löschen möchte. Damit sind sowohl die Nummer für das analoge Amt als auch die MSNs verfügbar und werden in den anderen Menues der Box zur Auswahl angeboten.
Hardwareseitig muss man sich natürlich einen Adapter bauen, der das analoge Amt und das ISDN, die beide auf der gleichen RJ45 der Box liegen, splittet. Wenn die Box direkt am DSL hängt, muss auch noch der DSL-Anschluss getrennt herausgeführt werden. Dazu kann man z. B. eine voll beschaltete RJ45 Netzwerkdose nehmen, an die man die Box mit einem Patchkabel anschließt, und von dort aus dann auf analoges Amt, ISDN und DSL weiterführt.
Der von der Wählhilfe zu meinem Mobiltelefon aufgebaute Rückruf steht also jetzt wie ein Anruf auf dem analogen Amt der Fritzbox zur Verfügung und kann von dort aus mit der in der Fritzbox vorhandenen "Callthrough" - Funktion auf ein beliebiges anderes Amt (ISDN oder Voice over IP) weitergeschaltet werden. Ich höre dabei auf meinem Mobiltelefon kurz die Ansage "Ihre Verbindung wird gehalten", dann ein "düdeljö" das mich zur Eingabe der in der Fritzbox hinterlegten vierstelligen PIN auffordert, darauf kommt ein Bestätigungston und ich bin durch Wahl einer "0" am Amt, wo ich den Wählton höre und jetzt mein Gespräch aufbauen kann.
Wichtig sind noch folgende Einstellungen, die man an der Fritzbox mithilfe von Tastenkombinationen auf einem an einen internen Port angeschlossenen Telefon einrichten muss:
#96*5* Anrufmonitor einschalten
#961*0* Fritzboxgesteuerte Anrufweiterschaltung in der Vermittlungsstelle ausschalten
Jetzt zu der Frage, wie ich die Freetz-Modifikation einschließlich Call-Monitor überhaupt in die Box bekomme. Grundsätzlich handelt es sich bei "Freetz" um eine alternative, nicht vom Hersteller der Fritzbox freigegebene Firmware, die genauso wie bei einem Firmwareupdate über die Benutzeroberfläche der Box (System>Firmware-Update>Firmware-Datei) eingespielt werden kann, natürlich mit der Folge, dass es dafür keinerlei support vom Hersteller gibt. Das Risiko einer Zerstörung der Box ist dabei gering, weil die Fritzbox im Normalfall immer wieder mit einem Recovery-Image in den originalen Zustand versetzt werden kann. Die zur Wiederherstellung des alten Zustandes erforderlichen Dateien sollte man sich vor allem anderen runterladen und bereit halten. Trotzdem ist meine Empfehlung, für erste Versuche mit Freetz immer eine zweite Fritzbox zu benutzen und nicht die Box, die als Router den Internetzugang zur Verfügung stellt.
Zur rechtlichen Seite: AVM als Hersteller der Fritzbox beanstandet es nicht, wenn eine mit Freetz modifizierte Firmware, die auch Bestandteile der Original-Firmware enthält, in die Box eingespielt und benutzt wird, vorausgesetzt, die modifizierte Firmware wurde selbst für den Eigengebrauch hergestellt. Verboten ist die Weitergabe einer solchen modifizierten Firmware an andere Nutzer. Die legale Möglichkeit entspricht genau dem Konzept von Freetz: Es gibt keine fertige Firmware, sondern nur eine Anleitung zum "Selbstbrauen" einer modifizierten Firmware. Da das nicht so einfach geht ist damit zugleich eine Beschränkung auf Anwender mit einem gewissen IT-Grundwissen verbunden.
Auf der Freetz-Anfänger-Seite ist detailliert beschrieben, wie man sich seine Firmware selbst bauen kann. Ich habe folgenden Weg gewählt:
Ich habe mir die VirtualBox auf meinem Windows-Rechner installiert, dort hinein Freetz-Linux geladen, und bin dann genau nach der Anleitung auf der Newbie-Seite vorgegangen. Wichtig ist dabei, dass der Rechner seine IP-Adresse per DHCP zugewiesen bekommt, damit auch das virtuelle Linux-System automatisch eine eigene IP-Adresse bekommt. "Putty" braucht man dafür erstmal nicht. Es kann ziemlich lange dauern, bis die VirtualBox alle Updates des virtuellen Linux-Systems nachgezogen hat. Bei der Auswahl der zu installierenden Pakete habe ich nur den "Call-Monitor" ausgewählt. Wenn das Image fertig ist (was auch ziemlich lange dauern kann) muss man es mit dem Total-Comander aus dem virtuellen Linux in das Windows-System rüberziehen.
Jetzt kann man das alternative Freetz-Image wie ein Firmware-Update in die Fritzbox einspielen. Nach erfolgreichem "Update" sollte die Fritzbox-Oberfläche wie bisher zu erreichen sein, aber einen zusätzlichen Menue-Punkt "Freetz" haben. Dieser führt zu einer Anmeldemaske, wo man sich als "admin" mit dem Passwort "freetz" anmelden kann.
Jetzt sind nur noch wenige Schritte notwendig, um die bereits ganz oben beschriebenen Einträge in den Callmonitor vornehmen zu können:
Erstmal unter Status>Dienste telnetd starten. Dann mit dem Programm Putty über telnet auf die Box gehen (user: root passwort: freetz) und die Sicherheitseinstellungen mit den Befehlen
echo 0 > /tmp/flash/mod/security
modsave all
so herabsetzen, dass Einträge unter "Callmonitor>Regeln bearbeiten" gemacht werden können.
Jetzt endlich kann die schon oben erwähnte Regel
in:cancel ^(xxxxxxxxxxxx) ^1234567 ctlmgr_ctl w telcfg command/Dial xxxxxxxxxxxx
eingegeben und abgespeichert werden (xxxxxxxxxxxx als Nummer des Mobiltelefons, 1234567 als MSN für den "Lockruf") und die das Callback mit der Fritzbox sollte funktionieren!
Mit dem Callmonitor lassen sich natürlich noch viele andere Dinge anstellen. Sehr nett finde ich das Wake-on-LAN durch einen Anruf mit einer bestimmten Mobilnummer auf einer bestimmten MSN oder VoIP-Telefonnummer. Das geht mit der Regel
in:request ^(xxxxxxxxxxxx) ^1234567 ether-wake -i lan 00:00:00:00:00:00
wobei 00:00:00:00:00:00 die Mac-Adresse des zu starteten Rechners ist.
in:cancel ^ ^134567 mailmessage -t name@provider.de
löst eine Email-Benachrichtung über entgangene Anrufe auf der MSN 1234567 an name@provider.de aus; dazu muss der "push-service" der Fritzbox aktiviert und dort eine Absenderadresse eingetragen sein.
in:request ^(xxxxxxxxxxxx) ^1234567 reboot
löst einen Neustart der Fritzbox bei einem Anruf mit der Nummer xxxxxxxxxxxx auf der MSN 1234567 aus; dies kann hilfreich sein, wenn die Fritzbox, was gelegentlich der Fall ist, nach einem Callthrough die Verbindung nicht mehr abbaut. Zu diesem Problem gibt es hier (am Ende) einen Hinweis.
in:cancel ^ ^1234567 ctlmgr_ctl w telcfg command/Dial
${SOURCE}
löst einen Rückruf auf jede (beliebige) anrufende Nummer aus, die auf der MSN 1234567 anruft. Dies habe ich bisher nicht selbst getestet, soll aber nach dieser Quelle funktionieren. Hierbei sollte in jedem Fall durch entsprechende Wahlregeln verhindert werden, dass der Rückruf ungewollte Kosten verursacht, beispielsweise wenn der Anruf aus dem Ausland kommt.
Funktioniert Callback mit der Fritzbox auch ohne die lästige Eingabe einer PIN und der Amtszugangsziffer "0"? Nicht solange man die Callthrough-Funktion der Fritzbox nutzt. Diese Sicherung hat ihren guten Grund, wenn der Zugang für jeden erreichbar ist. Hat man jedoch ein Callback wie hier beschrieben eingerichtet, ist die Sicherung des Telefonzugangs mittels PIN eigentlich nicht mehr erforderlich, da durch den im Callmonitor eingetragenen Listener gewährleistet ist, dass nur die dort hinterlegte Nummer zurückgerufen wird.
Ein direktes Durchschalten auf den Amtszugang (oder auf eine Telefonanlage) lässt sich nur mit etwas zusätzlichem Aufwand an Hardware realisieren. Man braucht dazu eine "Auerswald Box" . Dieses kleine Gerät wurde etwa 2004 von dem Telefonanlagen-Hersteller Auerswald auf den Markt gebracht, um die aufkommende Voice over IP - Telefonie für Nutzer von älteren Telefonanlagen nutzbar zu machen. Sie ist recht günstig gebraucht in der Bucht zu bekommen (ich hab meine für unter 10 € erstanden). Mit der Box lassen sich zwei analoge Telefonleitungen verbinden. Ankommende Anrufe auf der einen Leitung werden von der Box angenommen, man hört den Wählton der anderen Leitung und kann dann weiterwählen - also genau die klassische Callthrough-Funktion. Die A-Box wird aus der Telefonleitung gespeist und benötigt kein zusätzliches Netzteil. Schließt man die Anlagenseite der A-Box (Anschluss PBX) an den analogen FON-Anschluss der Fritzbox, auf dem die von der Wählhilfe aufgebauten Anrufe ankommen, an, den anderen Anschluss (ATA) an ein analoges Amt oder den analogen Nebenstellenport einer Telefonanlage (oder einen anderen FON-Anschluss der Fritzbox) hat man ein Callback realisiert, bei dem man sofort ohne weitere PIN-Eingabe ein "Amt" bekommt, wenn die Fritzbox zurückruft. Die A-Box wird dabei in der Standardkonfiguration (siehe Anleitung) betrieben. Zu beachten ist, dass die A-Box erst dann wieder "auflegt", wenn sie von der Anlagenseite her (also in diesem Fall von Seiten des von der Wählhilfe angesprochenen Ports der Fritzbox) ein Besetzt-Zeichen erkennt. Die Anschlüsse dürfen also nicht vertauscht werden, da es sonst passieren kann, dass die Verbindung dauerhaft gehalten wird. Sollte das Besetzt-Zeichen einmal ausbleiben, trennt die A-Box allerdings standardmäßig nach 60 Minuten, was die Betriebssicherheit erhöht.
update (12.04.2015):
Ich nutze die hier beschriebene Konfiguration jetzt seit fast zwei Jahren und sie funktioniert sehr zuverlässig.
Was mich dabei etwas stört: ich kann die normale Funktion der Wählhilfe der Fritzbox nicht mehr nutzen, weil diese ja die zu meinem Mobiltelefon aufgebauten Rückrufe auf den Eingang meiner Telefonanlage und nicht auf mein Telefon leitet. Es macht natürlich keinen Sinn, wenn ein per Wählhilfe angerufener Gesprächspartner den Wählton meiner Telefonanlage hört.
Dazu habe ich nach einer Möglichkeit gesucht, den internen Telefonanschluss der Fritzbox, auf dem die durch die Wählhilfe aufgebauten Anrufe ankommen und der im Fritzbox-Menue unter Telefonbuch>Wählhilfe fest eingestellt wird, unabhängig von dem Callback frei zu wählen, so dass die durch das Callback ausgelösten Rückrufe trotzdem nur auf FON1 signalisiert werden.
Das geht leider nicht so einfach, wie es in manchen Quellen beschrieben wird. Freetz muss dazu bei der Auslösung des Rückrufes die Konfiguration der Fritzbox dahingehend ändern, dass der "DialPort", d. h. der Interne Anschluss auf dem der durch die Wählhilfe aufgebaute Anruf ankommt, FON1 ist, dann den Rückruf ausführen, dann den DialPort wieder auf die Ausgangseinstellung zurückstellen (z. B. "2" für FON2, "3" für FON3 oder "50" für den internen ISDN-Port).
Der Befehl für das Ändern der Wählhilfe-Einstellung (hier auf den Anschluss FON1) lautet:
ctlmgr_ctl w telcfg settings/DialPort 1
Um zu erreichen, dass die Befehle "Ändern des DialPorts", "Wählen" und "Rückstellen den DialPorts" in dieser Reihenfolge abgearbeitet werden, müssen diese Befehle im Aktionsteil unserer Regel jeweils durch ein Semikolon getrennt werden.
Die komplette Regel für unser Beispiel sieht dann so aus:
in:cancel ^(xxxxxxxxxxxx) ^1234567 ctlmgr_ctl w telcfg settings/DialPort 1;ctlmgr_ctl w telcfg command/Dial xxxxxxxxxxxx;ctlmgr_ctl w telcfg settings/DialPort 50
(xxxxxxxxxxxx als Nummer des Mobiltelefons, 1234567 als MSN für den "Lockruf", auf FON1 kommen die durch Callback aufgebauten Rückrufe an, auf dem ISDN-Port werden die normalen Aufrufe durch die Wählhilfe signalisiert).
Die oben genannte Regel muss im Callmonitor in eine einzige Zeile eingetragen werden, dann sollte es funktionieren!
Nach diesem Prinzip (DialPort ändern, Callback, DialPort zurücksetzen) kann man natürlich jetzt auch mehrere Regeln erstellen, die den Rückruf je nach Anrufer und je nach angewählter Nummer auf verschiedene interne Nummern leiten. Ich habe mir z. B. neben der MSN, die mich nach dem Lockruf auf den Eingang meiner Telefonanlage leitet, eine MSN für "nach Hause Telefonieren" eingerichtet, die den Rückruf auf den globalen ISDN-Eingang der Anlage leitet wie ein normaler Anruf von außen.
update (09.09.2017)
Ich nutze die oben beschriebenen Funktionen nach wie vor zu meiner Zufriedenheit.
Neulich war ich in den Niederlanden. Auch von dort aus funktioniert das Callback dank Roaming einwandfrei, allerdings nicht mit allen Anbietern. Ich kann mich dort mit meiner simquadrat-Karte in verschiedenen Mobilfunknetzen anmelden, T-Mobile NL, KPN oder vodafone NL. Normalerweise macht das das Mobiltelefon automatisch und nimmt immer das stärkste der verfügbaren Netze. Mir ist aufgefallen, dass bei KPN und vodafone die DTMF-Töne ausgefiltert werden. Man kann also nicht wählen, nachdem das Mobiltelefon von der Fritzbox zurück gerufen wurde. Im Netz von T-Mobile klappt es hingegen einwandfrei. Notfalls muss man die automatische Netzwahl ausschalten und sich manuell bei T-Mobile NL einbuchen.
update (14.12.2022)
Alles hat ein Ende und wird - in diesem Fall - zur Technikgeschichte.
Ich habe das beschriebene Callback kaum noch genutzt, seit dem meine Familie mir zu Weihnachten 2017 ein Smartphone geschenkt hat, mit dem ich für 5 Euro im Monat nicht nur im Word-Wide-Web umhersurfen sondern unbegrenzt ohne weitere Kosten in alle deutschen Netze telefonieren kann.
Nachdem sipgate angekündigt hat, 2023 auch für Bestandskunden die grundgebührenfreien Tarife abzuschaffen, macht es keinen Sinn mehr, die Fritzbox 7170 mit der Freetz-Modifikation und der Auerswald-Box vorzuhalten - alleine schon wegen des Stromverbrauchs.
Ich baue diesen Teil meiner Telefonanlage daher ab, werde aber Callback mit der Fritzbox in sentimentaler Erinnerung behalten. Es hat funktioniert!