Hier sollen Anleitungen der verschiedenen Modelle und dessen Möglichkeiten, sich gegen unerwünschte Anrufe zu schützen, vorgestellt werden. Der Schwerpunkt dabei ist das sperren von Anrufen mit unterdrückter Nummer. |
Inhaltsverzeichnis |
Diese Anleitung basiert auf der Firmware-Version 29.04.57 der Fritz!Box 7170 (im folgenden mit FB bezeichnet). Neuere Versionen lassen nach meinen Erfahrungen nicht alle Möglichkeiten zu.
Von der folgenden Konstellation wird hierbei ausgegangen:
Zwei Rufnummern für das Büro mit Anrufbeantworter 08xx/9xxx11, 08xx/9xxx12, zwei private Rufnummern mit Anrufbeantworter 08xx/9xxx21, 08xx/9xxx22, ein Anrufbeantworter für alle auf diesen Rufnummern eintreffenden Anrufe ohne Übermittlung der Nummer (zum größten Teil Spam)
eine Rufnummer für Fax 08xx/9xxx31 sowie eine Rufnummer ohne Anrufbeantworter für Gäste 08xx/9xxx41 Die Erreichbarkeit der Gäste-Nummer wird nicht eingeschränkt, d.h. hier werden alle Anrufe durchgestellt.
Die Telefone sind Analoggeräte an einer ISDN-Telefonanlage, die am S0 der FB angeschlossen ist. Das Fax ist eine interne Funktion der FB. Da die FB 7170 drei Analoganschlüsse für Telefone bereitstellt, lässt sich die Einstellung auch auf kleinere Installationen ohne ISDN übertragen.
Die Auflistung der Telefoniegeräte in der Web-Oberfläche der FB sieht dann so ähnlich aus:
Die Gast-Rufnummer erscheint hier nicht.
Doch bevor wir so weit sind, müssen wir erst noch die Anrufbeantworter und die zugehörigen Rufumleitungen einrichten.
In Einstellungen – Erweiterte Einstellungen – Telefonie – Anrufbeantworter können wir die AB einrichten.
Zuerst also die AB mit den üblichen Funktionen: mehrmals klingeln lassen, wenn niemand abhebt, dann meldet er sich mit einem vorprogrammierten oder selbst aufgesprochenen Text und ermöglicht, dass der Anrufer eine Nachricht hinterlässt.
Hier ist die Einstellung für den AB für den Büroanschluss 08xx/9xxx11 und 9xxx12. Der private AB wird analog dazu eingerichtet.
Bei Auswahl der Rufnummern für den Anrufbeantworter wählen wir aus der Drop-down-Liste alle Rufnummern, auf die der AB ansprechen soll. In den Einstellmöglichkeiten muss der AB aktiviert werden. Üblicherweise soll er nach einer kurzen Verzögerung Mitteilungen aufnehmen von einer begrenzten Länge. Diese Mitteilungen kann man sich dann als WAV-Datei per E-Mail schicken lassen (oder am Telefon abhören). Die Ab können die E-Mails auch an unterschiedliche Adressen schicken (z.B. Büro oder Privat).
Zum Schluss wird der AB für Anrufer ohne Rufnummernübermittlung eingerichtet:
Hier klingelt kein Telefon, da der AB die Anrufe ohne Ansageverzögerung annimmt. Die Schwiegermutter, die ihren Anschluss noch nicht auf Rufnummernübermittlung umgestellt hat, kann trotzdem ihre Nachricht auf „Band“ sprechen, das Call Center wird das eher nicht tun (obwohl, eine Gewinnmeldung konnte ich so direkt an die BnetzA weiterleiten … ).
Das Drop-Down-Feld für die Auswahl der Rufnummern muss freigelassen werden, da hier die Rufumleitungen einsetzen. Die Rufnummer, unter der der AB abgefragt werden kann, ist in diesem Fall **602 (diese Nummer benötigen wir für die Einstellung der Rufumleitungen).
In Einstellungen – Erweiterte Einstellungen – Telefonie – Rufumleitung können wir jetzt die Rufumleitungen für die Anrufe ohne Rufnummernübermittlung einrichten.
Wie im Bild gezeigt, bleibt das Feld ‚Anrufe von Telefonbuch’ leer. Darunter tragen wir die jeweilige Rufnummer mit einem vorangestellten # ein. Als Zielrufnummer wird die Nummer des Spam-AB, in unserem Fall also 602 eingetragen. Dies wird für alle vom Spam zu befreienden Rufnummern wiederholt.
Die Liste der Rufumleitungen sieht dann wie folgt aus:
Damit sind Rufumleitungen für Spam-Anrufe eingerichtet für die Büro- und die Privatnummern. Der Gast-Anschluss erhält keine Rufumleitung und keinen AB und darf somit auch die Anrufe der beliebten CCA entgegennehmen (wir wollen ja niemanden in seiner Freiheit der Information einschränken).
Eine Besonderheit der Fritz!Box ist es, dass Faxe mit oder ohne übertragene Rufnummer immer angenommen werden. Hier darf also leider munter gespamt werden. Sie können jedoch die eingehenden Faxe auf einen USB-Stick auflaufen lassen, dieser Stick kann in einen der USB-Buchsen der FB gesteckt werden und ist aus dem gesamten Netzwerk abrufbar. Mit der Fritz!Fax-Software können Sie dann wichtige Faxe über den Netzwerkdrucker ausdrucken und Spam-Faxe sofort löschen, ohne dass hier Toner und Papier verschwendet werden müsste.
Empfehlenswert ist es, eingehende Anrufe folgender Nummernbereiche ganz zu blocken:
Damit schützen Sie sich vor nervigen Ping-Betrugsanrufen, wie sie gern über 0137- oder 0900-Mehrwertnummern hereinkommen.
Zum Blocken dieser Nummernbereiche geben Sie in das Auswahlfeld z.B. "090" ein, dann blockt Fritz!Box alle eingehenden Anrufe der Nummernbereiche 090*****.
Anrufe mit unterdrückter Rufnummer sollten Sie vielleicht lieber nicht ganz blocken, sondern auf den internen Anrufbeantworter umleiten, damit Sie z.B. für Angehörige/Freunde/Geschäftspartner, die aus irgendwelchen Gründen mit unterdrückter Rufnummer anrufen, wenigstens noch auf dem AB erreichbar sind. Wer etwas von Ihnen will, kann dann eine Nachricht hinterlassen. Die Callcenter sprechen jedoch i.d.R. nicht auf den AB, sondern legen gleich auf.
Hier sollten Sie dann also Regeln anlegen, dass Anrufe folgender Gruppen auf den AB umgeleitet werden:
Damit lenken Sie sowohl Callcenteranrufe um, die neuerdings (wegen des Verbots, mit unterdrückter Rufnummer zu Werbezwecken anzurufen) irgendeine obskure 0800-er oder 01805 einblenden, als auch Anrufe von Callcentern, denen das Verbot völlig wurst ist, und die nach wie vor mit unterdrückter Rufnummer anrufen.
Immer wieder gibt es neuerdings auch wiederholte und penetrante Callcenter-Störungen, wo dann irgendeine Ortnsetznummer eingeblendet wird, wo dann aber natürlich beim Rückruf nie jemand zu erreichen ist. Diese Nummern können Sie dann recht einfach im Fritz!-Dialog hinzufügen und eine neue Regel zufügen, mit der Sie die betreffende Nummer dann einfach ganz blocken. Dies ist für maximal 30 Rufnummern möglich. Diese Zahl wird voraussichtlich auch ausreichen, weil nach einiger Zeit schon die Nummern ohnehin gewechselt werden und nicht mehr gelten, bei Bedarf können Sie dann die jeweils ältesten Filtereinträge einfach löschen.
PWR, 23.3.2009
Voraussetzung für die folgende Konfiguration ist neben Asterisk:
Auf dem MySQL-Server haben die meisten vermutlich ohnehin eine Datenbank eingerichtet, die die Anrufe protokolliert, die über Asterisk laufen. Hier habe ich zwei weitere Tabellen eingefügt:
CREATE TABLE IF NOT EXISTS `calls2reject` ( `callerid` varchar(32) CHARACTER SET ascii NOT NULL, `Bemerkungen` text NOT NULL, UNIQUE KEY `callerid` (`callerid`) ) ENGINE=MyISAM; CREATE TABLE IF NOT EXISTS `rejectedcalls` ( `zeit` datetime NOT NULL, `callerid` varchar(32) NOT NULL ) ENGINE=MyISAM;
Die Tabelle calls2reject enthält in der Spalte "callerid" die Nummern der zurückzuweisenden Anrufe. Dabei können sowohl vollständige Nummern (z.B. eine Nummer wie 090012345678) angegeben werden als auch der Beginn einer Rufnummer (z.B. 0900 würde alle Nummern aussperren, die mit 0900 beginnen). In "Bemerkungen" kann man eintragen, was man will, man kann diese Spalte auch weglassen, wenn man sie nicht braucht.
In die Tabelle rejectedcalls wird mit Datum/Uhrzeit protokolliert, wann eine Nummer zurückgewiesen wurde.
Die eigentliche Auswertung erfolgt mit einem kleinen AGI-BIN-Script, welches in Perl geschrieben ist. Dieses gehört in das agi-bin-Verzeichnis der jeweiligen Installation (in meinem Fall: /var/lib/asterisk/agi-bin).
Ich habe es "spamcalls.pl" benannt, der konkrete Name ist völlig egal, sofern er sich in der unten aufgeführten Asterisk-Konfiguration wiederfindet.
#!/usr/bin/perl use strict; use DBI; $|=1; my $number=$ARGV[0]; my $DSN = 'dbi:mysql:database=asterisk;host=localhost'; my $DBACCOUNT = 'meinsqlaccount'; my $DBPASSWORD = 'meinsqlpasswort'; # Verbindung mit Datenbank herstellen my $dbh = DBI->connect($DSN, $DBACCOUNT, $DBPASSWORD, { PrintError => 1 , RaiseError => 0 , AutoCommit => 1 }); # existiert in der DB ein Eintrag, der mit der Nummer uebereinstimmt? my $comm=$dbh->prepare("SELECT * FROM calls2reject WHERE INSTR(".$dbh->quote($number).", callerid)=1"); $comm->execute; # wenn ja: Eintrag in die Liste der zurueckgewiesenen Nummern und Rueckgabe der Variablen SPAM mit dem Wert 1 an Asterisk # wenn nein: Kein Eintrag in die Liste und Rueckgabe von SPAM mit dem Wert 0 # ausserdem jeweils Log-Eintrag ins Asterisk-Log if ($comm->rows() > 0) { $comm=$dbh->prepare("INSERT INTO rejectedcalls SET zeit=NOW(), callerid=".$dbh->quote($number)); $comm->execute; print "VERBOSE \"Nummer ".$number." wird nicht angenommen, da in der Spamdatenbank\"\n"; print "SET VARIABLE SPAM 1\n"; } else { print "VERBOSE \"Nummer ".$number." wird angenommen, da nicht in der Spamdatenbank\"\n"; print "SET VARIABLE SPAM 0\n"; }
Folgendes ist die Asterisk-Extension-Konfiguration ("old-style"):
; der folgende Abschnitt ist verantwortlich fuer die Abarbeitung eines einkommenden Anrufs [macro-stdextenzentrale] exten => s,1,AGI,spamcalls.pl|${CALLERID(num)} ; das Perlscript aufrufen mit der eintreffenden Nummer exten => s,2,GotoIf($[ "${SPAM}" != "0" ]?s-QUAELECOLDCALL,1:3) ; wenn Spam, dann gehe zu s-QUAELECOLDCALL, sonst weiter exten => s,3,Ringing ; Klingeln lassen exten => s,4,SetLANGUAGE(de) ; deutsche Sprache einstellen exten => s,5,Dial(${ARG1},${DELAYABZENTRALE},t) ; interne Nummer waehlen, bis jemand abnimmt oder DELAYABZENTRAL Sekunden vergangen sind exten => s,6,Goto(s-${DIALSTATUS},1) ; falls keiner abgenommen hat (Timeout) zum passenden Status s-NOANSWER springen exten => s,106,Goto(s-BUSY,1) ; sonst geht es zu s-BUSY exten => s-NOANSWER,1,Voicemail(u${HAUPTNUMMER}) ; Voicemail-Modul starten mit Text fuer "nicht erreichbar" exten => s-NOANSWER,2,Playback(vm-goodbye) ; Adieu sagen exten => s-NOANSWER,3,Hangup ; und auflegen exten => s-BUSY,1,Voicemail(b${HAUPTNUMMER}) ; Voicemail-Modul starten mit Text fuer "besetzt" exten => s-BUSY,2,Playback(vm-goodbye) ; Adieu sagen exten => s-BUSY,3,Hangup ; und auflegen exten => s-QUAELECOLDCALL,1,Answer() ; Coldcall annehmen exten => s-QUAELECOLDCALL,2,Wait(2) ; 2 Sekunden warten exten => s-QUAELECOLDCALL,3,SetLANGUAGE(de) ; deutsche Sprache aktivieren exten => s-QUAELECOLDCALL,4,Playback(queue-youarenext) ; einen schoenen Text ansagen exten => s-QUAELECOLDCALL,5,Wait(5) ; 5 Sekunden warten exten => s-QUAELECOLDCALL,6,Goto(s-QUAELECOLDCALL,3) ; und wieder von vorn exten => _s-.,1,Goto(s-NOANSWER,1) ; bei unbekanntem Gespraechsstatus zum Noanswer-Voicemail springen
In der extensions.conf sind folgende Variablen zu setzen:
Im Asterisk sind natürlich viele weitere Möglichkeiten denkbar, um den Coldcaller zu ärgern. Das von mir eingesetzte "queue-youarenext" ist einfach das Standard-Voicefile "Sie sind der nächste Anrufer in der Warteschlange". Das ist vielleicht etwas einfallslos, hat aber deutliche Wirkung gezeigt. Ich hatte vorher einfach nur bei Erkennung einer Spam-Nummer aufgelegt, aber das führte nur dazu, dass es die Anrufer ständig wieder probiert hatten. Das stört zwar nicht, weil de Anrufer gar nicht erst bis zum internen Anschluss durchkommt, muss ja aber auch nicht unbedingt sein. Seit der Endlosschleife ist Ruhe.
Wenn man das Abwimmeln eines Coldcallers vornehmer machen will oder sogar auf "Feedback" Wert legt, kann den oben genannten Zweig mit der Kennung "s-QUAELECOLDCALL" durch folgenden Code ersetzen:
exten => s-QUAELECOLDCALL,1,Voicemail(u${SPAMMAILBOXNUMMER}) exten => s-QUAELECOLDCALL,2,Playback(vm-goodbye) exten => s-QUAELECOLDCALL,3,Hangup
Hier wäre dann in der extensions.conf noch die Variable SPAMMAILBOXNUMMER mit einem Wert zu versehen, der sich von der oben eingetragenen HAUPTNUMMER unterscheidet, da sonst die Spam-Texte in die gleiche Mailbox gehen wie die erwünschten Anrufe. Außerdem muss man dann noch
Anregungen für die Gestaltung von Mailboxtexten finden sich unter Dialer
brummelhummel, 29.11.2010