Anrufbeantworter-Bingo

Diverse Anrufer beschweren sich derzeit, dass mein Anrufbeantworter nicht funktioniert. Dieses Problem ist nun behoben. Ich habe gleich noch ein paar Lustige Anrufbeantwortersprüche aufgenommen, diese werden zufällig ausgewählt dem Anrufer kredenzt. Und so geht’s:

Zunächst braucht man einen funktionierenden Capi-Treiber. Es gibt von AVM Treiber für SuSE 9.3, die sich aber nicht sofort bauen lassen, wenn man z.B. Debian verwendet:

make -C src
make[1]: Entering directory `/home/melle/tmp/fritz/src'
make -C /lib/modules/2.6.17-2-k7/build SUBDIRS=/home/melle/tmp/fritz/src modules
make[2]: Entering directory `/usr/src/linux-headers-2.6.17-2-k7'
CC [M] /home/melle/tmp/fritz/src/main.o
In file included from /home/melle/tmp/fritz/src/queue.h:27,
from /home/melle/tmp/fritz/src/tables.h:31,
from /home/melle/tmp/fritz/src/driver.h:31,
from /home/melle/tmp/fritz/src/main.c:45:
/home/melle/tmp/fritz/src/tools.h:74: error: expected identifier or '(' before 'typeof'
/home/melle/tmp/fritz/src/tools.h:74: error: expected ')' before '__xchg'
make[3]: *** [/home/melle/tmp/fritz/src/main.o] Fehler 1
make[2]: *** [_module_/home/melle/tmp/fritz/src] Fehler 2
make[2]: Leaving directory `/usr/src/linux-headers-2.6.17-2-k7'
make[1]: *** [fcpci.ko] Fehler 2
make[1]: Leaving directory `/home/melle/tmp/fritz/src'
make: *** [src/fcpci.ko] Fehler 2

Zum Glück haben schon andere freundliche Menschen herausgefunden, dass man ledliglich in src/tools.h eine Inline-Definition entsorgen muss. Einfach diese Zeilen auskommentieren:

static inline unsigned long atomic_xchg (
volatile atomic_t * v,
unsigned value
) {
return __xchg (value, &v->counter, sizeof (unsigned));
} /* atomic_xchg */

Und schon kann das Modul fcpci.ko gebaut und geladen werden. Das sieht gut aus:

fcpci: module license 'Proprietary' taints kernel.
fcpci: AVM FRITZ!Card PCI driver, revision 0.7.2
fcpci: (fcpci built on Jan 27 2007 at 11:46:23)
fcpci: -- 32 bit CAPI driver --
ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 16
ACPI: PCI Interrupt 0000:02:0a.0[A] -> Link [LNKA] -> GSI 16 (level, low) -> IRQ 225
fcpci: AVM FRITZ!Card PCI found: port 0xcc00, irq 225
fcpci: Loading...
fcpci: Driver 'fcpci' attached to fcpci-stack. (152)
fcpci: Stack version 3.11-07
kcapi: Controller 1: fcpci-cc00-225 attached
kcapi: card 1 "fcpci-cc00-225" ready.
fcpci: Loaded.

Dann installiert man sich mit dem Paketmanager der Wahl Capisuite. /etc/capisuite/answering_machine.conf muss um einen Eintrag für den Anrufbeantworter erweitert werden:

[melle]
voice_numbers="8715419"
voice_action="MailAndSave"
voice_delay="1"
record_length="90"
voice_email="melle <email @ adresse.de>"
pin="1234"
announcement="ansage.la"

Die Telefonnummer ist die Zielnummer ohne Ortsvorwahl, nach einer Sekunde kommt die Ansage und man kann 90 Sekunden quatschen, das Resultat wird via e-Mail verschickt.
Jeder User (der Name in den eckigen Klammern) hat ein Spool-Verzeichnis unterhalb von /var/spool/capisuite/users/. Die Ansage ansage.la wird in diesem User-Verzeichnis gesucht.

Der Anrufbeantworter funktioniert schon fast, wir brauchen noch ein paar lustige Ansagen. Die kann man entweder aufnehmen in dem man sich selbst anruft, die PIN eingibt und dann losquatscht. Oder man hat eine tolle Plattensammlung und möchte die Audioschnipsel von CD durch die Telfonleitung quetschen.
Wenn das gewünschte File als WAV vorliegt, kann man es mit sox konvertieren:

sox ansage.wav -r 8000 -c 1 -b ansage.la resample -ql

Super, jetzt funktioniert der Anrufbeantworter. Fehlt nur noch eine Shuffle-Funktion. Die sieht bei mir so aus:

#!/bin/sh
rm /var/spool/capisuite/users/melle/ansage.la;
ln -s `ls /var/spool/capisuite/users/melle/*.la -1 | rl | tail -1` /var/spool/capisuite/users/melle/ansage.la

rl kommt aus dem Paket randomize-lines und verwurstelt die Ausgabe von ls. Das Script kann man jetzt via Cronjob ausführen lassen, um z.B. stündlich die Ansage zu shuffeln. Lustiger ist es vor jedem Anruf, damit immer eine neue Ansage zu hören ist.
In /etc/capisuite/incoming.py sucht man sich die Funktion callIncoming und dann die Zeile

capisuite.connect_voice(call,int(delay))

heraus. Dort geht der Anrufbeantworter ran, es genügt also oberhalb dieser Zeile folgendes einzufügen:

os.popen("rm /var/spool/capisuite/users/melle/ansage.la; ln -s `ls /var/spool/capisuite/users/melle/*.la -1 | rl | tail -1` /var/spool/capisuite/users/melle/ansage.la")

Fertig ist die Laube. Wer es ausprobieren will – einfach ein paar Mal hier anrufen: +49-331-8715419. Keine Angst, ist nur der Anrufbeantworter, ich werde nicht geweckt, wenn dort jemand anruft 😉

Mitbringsel

SchokiNatürlich haben wir, allen Klischees entsprechend, Schokolade gekauft. Da kommt dann doch der Tourist in einem durch. Die Ausbeute ist äußerst lecker. Die großen Brocken gab es in einem Schokoladen am Bahnhof. Ursprünglich sind das ziemlich große Bleche voller Schokolade, von denen man sich dann wunschgemäß etwas abbrechen lassen kann. Ich habe einmal quer durch’s Sortiment brechen lassen und bin so meine letzten Franken losgeworden.

Grüezi

Die Schweizer sind nicht so langsam wie befürchtet. Andere Klischees werden aber mit Bravour erfüllt: die Preise befinden sich im oberen unangenehmen Bereich.

Aldi mit Kaffeeautomat Das Frühstück im Hotel kostet extra, wir geizen natürlich und versuchen extern preiswert zu schlemmen. Netter Versuch. Als wir verzweifelt und hungrig bei McDonalds stehen, fällt uns auf, dass genau in dieser Woche die komplette Kücheneinrichtung ausgetauscht wird und das „Restaurant“ eine Baustelle ist. Zum Glück ist ein paar Meter vom Coop-Supermarkt entfernt ein Coop-Restaurant. Coop ist soetwas wie Aldi, nur teurer 😉 Immerhin bekommt man für CHF 6.70 zwei Brötchen, ein Stück Butter, eine Marmelade und zwei Heißgetränke. Es geht also auch preiswert, man muss nur ein bisschen suchen.

Die größte Schwierigkeit ist jedoch Strom. Nicht, dass die Schweizer keinen hätten. Viel mehr haben sie andere Steckdosen. Wir haben zwar so viel Equipment mit, dass wir einen nuklearen Erstschlag ausführen könnten, aber an einen blöden Reiseadapter haben wir natürlich nicht gedacht. Das kommt davon, wenn man zu selten auf Firmenkosten durch die Welt jettet. Zum Glück erbarmen sich die netten Schweizer und spendieren zwei Adapter, die wir von nun an hüten, wie unsere Augäpfel.

Im Hause des Gastgebers gibt es nette Gepflogenheiten. Arbeitsbeginn ist eher früh am morgen und um 9.00 Uhr wird es auch höchste Zeit erstmal einen Kaffee in der Kantine zu trinken. Natürlich gibt es zum Nachmittag um 15.00 Uhr auch noch einen Kaffee. Die Zeit nimmt man sich und so kommt selten der Eindruck von Stress auf. Ich bin überrascht, wie gut ein Latte Macchiato aus dem Automaten schmecken kann.
Überhaupt ist die Kantine spektakulär. Jeder Gast wird gefragt, ob es so gut sei (*dreht den Teller hin und her*) oder ob man noch mehr von diesem oder jenen haben möchte. Sehr wohltuend, in Deutschland wird man ja eher angeschnauzt 😉 Gezahlt wird bargeldlos mit Geldkarte. Das ist dieser komische Chip auf den EC-Karten, die hierzulande niemand benutzt, außer ein paar Rauchern.

Bestens vorbereitet hat der Gastgeber auch einen DSL-Anschluss auf unseren Schreibtisch patchen lassen, damit wir mit der großen weiten Welt reden können. Leider gibt es nur ein Kabel für zwei Notebooks. Wir ergänzen die „Liste für’s nächste Mal“ um einen kleinen Switch.
Zum Glück kann der langhaarige Bombenleger mit einem WLAN-Kabel etwas löten. Ein Linux-Notebook wird zum Router, die Windows-Büxe wird in einem Ad-Hoc Netzwerk angebunden. Wenn man dann noch ganz lieb

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

flüstert, kommt der Windows-Kollege auch raus und kann mit seinem VPN-Dingsbums die Heimat erreichen.

Wenn man dann abends ermattet noch ein paar Mails schreiben möchte, ist man erstmal ziemlich verzweifelt. Es gibt haufenweise offene WLANs, die einem sehr günstige Angebote für 30 Minuten bis 7 Tage Nutzungsdauer machen. Bei den Preisen haben wir erstmal einen multiplen Lachanfall bekommen.
Zum Glück gibt es zu hause ein paar sehr nette Menschen, die Datenreisenden zu jeder Tages- und Nachtzeit behilflich sind. Wer ein kostenloses WLAN sucht und Hunger hat, dem sei das Café Domino in Bern wärmstens empfohlen. Extrem leckere libanesische Küche, sehr nette und hilfsbereite Besitzer sowie (für schweizer Verhältnisse) günstige Preise.

Ein Beweis, wie vorausschauend die Eidgenossen hier sind, befindet sich im Badezimmer des Hotels. Flaschenöffner und Korkenzieher sind in günstiger Nähe zum Klo fest an der Wand installiert. Somit steht der Völlerei nichts mehr im Wege 😉

Korkenzieher auf dem Klo

Woman no entry

Woman no entry

Camera Model: NIKON D70
Lens: Nikon Nikkor 18-70mm 1:3.5-4.5G ED DX
Focal Length: 18 mm
Focal Length (35mm Equiv): 27 mm
Exposure Time: 1/500 sec
F-Number: f/11
Shooting mode: Normal
Exposure bias: -2/3 EV
Flash: No
ISO: 200
Image at flickr, large version

Chiang Khong dam

Chiang Khong dam

After the the really good wedding party we all needed some relaxation 😉 This picture was taken at the dam of Chiang Khong. We spotted the mountain bike club of Chiang Khong there. This was surprising, we didn’t expected to see such a western hobby in the northern regions of Thailand.

Camera Model: NIKON D70
Lens: Nikon Nikkor 18-70mm 1:3.5-4.5G ED DX
Focal Length: 18 mm
Focal Length (35mm Equiv): 27 mm
Exposure Time: 1/125 sec
F-Number: f/5.6
Shooting mode: Apperture priority
Exposure bias: -1/3 EV
Flash: No
ISO: 200
Image at flickr, large version

Bern, anyone?

Ich treibe mich in der nächsten Woche in Bern rum. Kann jemand nette Örtlichkeiten empfehlen, also Konzert- und Kneipentechnisch? Darf auch gerne nicht so teuer sein 😉

Steal this picture!

System Of A Down können es sich leisten, zum unentgeldlichen Kopieren ihrer Werke aufzurufen. Otto Normalfotograf muss dagegen die Augen offen halten und entdeckt manchmal nur durch Zufall, wo die eigenen Bilder unberechtigterweise verwendet werden.

Ein Bild von Mareen Fischinger wurde von Unge Høyre, der Jugendbewegung der Norwegischen Konservativen Partei, als Titelbild auf deren Printmagazin verwendet.
Neben dem Urheberrecht wurde auch das Persönlichkeitsrecht des Models, Mareens Schwester Vivien, verletzt. Unge Høyre hat jetzt Post und schlechte Presse. Hoffentlich haben sie draus gelernt – für’s nächste Mal.

Update: Die Aktuelle Stunde (WDR) hat sich ebenso wie einslive das Thema zur Brust genommen.

Chiang Khong main road

Chiang Khong main road

The main road of Chiang Khong. Thai people are usually a bit scary about being photographed, and the lady on the scooter seemed not very happy about it. But in this moment I was in the ‚hey I’m a tourist‘ shooting mode and as I took this picture from a pick-up, I had good chances to escape 😉

Camera Model: NIKON D70
Lens: Nikon Nikkor 18-70mm 1:3.5-4.5G ED DX
Focal Length: 55.00 mm
Focal Length (35mm Equiv): 83 mm
Exposure Time: 1/250 sec
F-Number: f/4.5
Shooting mode: Apperture priority
Exposure bias: -1/3 EV
Flash: No
ISO: 200
Image at flickr, large version

Monika

Monika

Camera Model: NIKON D70
Lens: Sigma 150mm 2.8 EX Makro
Focal Length: 150.00 mm
Focal Length (35mm Equiv): 225 mm
Exposure Time: 1/320 sec
F-Number: f/4
Shooting mode: aperture priority
Exposure bias: -1/3 EV
Cropped: no
Flash: no
ISO: 200
Image at flickr, large version

Who can you trust?

Das (echte) FBI warnt eindringlich davor, auf die Forderungen des (falschen) FBI einzugehen.“ [ # ]

Reizgas

Reizgas

Reizgas beim "Noise To Men"-Festival. Die vier sympathischen Herren gibt es wieder am 09.02. im Lindenpark zu sehen, zusammen mit MÜllstation und Dritte Wahl.

Camera Model: NIKON D70
Lens: Nikon Nikkor 50mm 1:1.8
Focal Length: 50.00 mm
Focal Length (35mm Equiv): 75 mm
Exposure Time: 1/4 sec
F-Number: f/4
Shooting mode: Shutter priority
Exposure bias: -1/3 EV
Flash: Yes
ISO: 1000
Image at flickr, large version

Bilderabend Thailand

Am 13.01. findet bei mir ein Diaabend statt, es gibt Bilder und Geschichten von meiner kleinen Reise. Für Getränke ist gesorgt, Essbares darf gerne beigesteuert werden 😉
Los geht’s um 19.00 Uhr, ich freue mich, wenn Ihr Euer Erscheinen ankündigt 🙂

Namosh

Namosh

Namosh bei der Monsters of Spex Aftershow Party. Seine Show lässt sich schwer mit Worten und Bildern beschreiben, lohnt sich aber sehr.

Camera Model: NIKON D70
Lens: Nikon Nikkor 50mm 1:1.8
Focal Length: 50.00 mm
Focal Length (35mm Equiv): 75 mm
Exposure Time: 1/60 sec
F-Number: f/1.8
Shooting mode: Apperture priority
Exposure bias: -2/3 EV
Flash: No
ISO: 1600
Image at flickr, large version

Jan Delay

Jan Delay

Jan Delay beim Monsters of Spex festival 2006 (mehr Bilder bei flickr). Der Herr ist sehr agil auf der Bühne und ziemlich schwer zu erwischen. Mit dem Bild bin ich ganz zufrieden, weil die Dynamik auf der Bühne gut rüberkommt.

Camera Model: NIKON D70
Lens: Nikon AF-S VR 70-200mm/2.8G IF-ED
Focal Length: 110 mm
Focal Length (35mm Equiv): 165 mm
Exposure Time: 1/30 sec
F-Number: f/2.8
Shooting mode: Aperture priority
Exposure bias: -2/3 EV
Flash: Yes
ISO: 800
Image at flickr, large version