Speedport w501v notification :)
Nachdem ich letztens meinen Speedport W500V in einen W501V tauschen
lies (einfach 0800 - 3300200 anrufen und von Problemen bei VOIP und
Wlan berichten) habe ich mich mal ein bischen näher mit der
FritzBox beschäftigt und herausgefunden wie ich mich benarichtigen
lassen kann wenn ein Anruf eingeht :)

Es ist für den faulen Informatiker halt schon
praktisch zu wissen wer anruft, ohne extra an s Telefon zu
springen, deswegen hier mal kurz eine Anleitung.
Was braucht man?
- Eine Fritzbox/Speedport W501V
- Ein Adressbuch
Gehen wir das ganze mal durch.
Das Adressbuch erzeuge ich indem ich das Adressbuch meines Nokia
Handys per Bluetooth übertrage und abspeicher. Dies erledige ich
mit folgendem kleinen Script:
#/bin/sh
ADDRESSBOOK=~/doc/addressbook
gnokii --getphonebook ME 1 end -r | sed -e "s/\+49/0/" | awk -F";" '{print $2":"$1}' >
$ADDRESSBOOK
Falls man das ganze per Hand machen will, das Format ist einfach
Telefon Nr:Name
Das gnokii weiss woher es das Adressbuch holen soll, braucht man
noch eine Konfigurationsdatei für sein Handy. Bei mir sieht
~/.gnokiirc wie folgt für ein Nokia 6230i über Bluetooth aus:
[global]
port = 00:13:FD:99:C1:0b
model = 6230
connection = bluetooth
rfcomm_channel = 1
Jetzt muss man noch den Anrufmonitor der Fritzbox aktivieren, dazu
genügt es #96*5* zu wählen.
Jetzt noch einfach folgendes
Script starten und sich über
Meldungen freuen :)
#!/usr/bin/perl -w
#
# read_calls.pl
#
# Synopsis:
# Script is run as a service daemon. It connects to the Fritz!Box Fon Ata
# (port 1012) and receives the calling string (number of the party calling
# in). This number is passed on to another program. I.e. this could be an
# Jabber client or a "look who called list".
#
# Requirements:
# - must be able to reach tcp port 1012 on your FB
# - activate call monitor on FB by dialing #96*5*
# - required perl package
#
# Licence: GPL2
#
# History:
# ver. 0.1 - 20060401 - Lars G. Sander, Zuerich
# First public release.
# ver. 0.2 - 20060510 - Ulrich Dangel <fritzbox@spamt.net>
# Added telefon book support
# To Do:
# - beefed up security?
# - proxy functionality
# - additionally monitor calls OUT
use IO::Socket;
use strict;
# your fritz box (ip or hostname)
my $FRITZBOX="fritz.box";
my $TELEFONBUCH="$ENV{HOME}/doc/addressbook";
my $EXTPRO="/usr/bin/X11/xmessage";
#-------- NO USER SERVICABLE PARTS BELOW -------#
sub read_book {
my %book = ();
open(IN, "<", $TELEFONBUCH) || return ();
while(<IN>){
chomp;
my @elements = split(":",$_);
$book{$elements[0]}=$elements[1];
}
close(IN);
return %book;
}
my %book = &read_book;
my $sock = new IO::Socket::INET (
PeerAddr => $FRITZBOX,
PeerPort => '1012',
Proto => 'tcp'
);
die "Could not create socket: $!\n" unless $sock;
while(<$sock>) {
if ($_ =~ /RING/){
my @C = split(/;/);
my $nr="";
if (exists($book{$C[3]})) {
$nr=$book{$C[3]};
} else {
$nr=$C[3];
}
my @args = ($EXTPRO, "Anruf: ", $nr);
system(@args);
}
}
Ich hoffe das hilft irgendjemanden :) Uli
Posted by Ulrich Dangel |
Permanent Link | Categories:
Stuff