Bisher scheint Asterisk die beste Lösung für die perfekte Erweiterung der Fritzbox zu sein. Wir nutzen das schon bestehende Add-On von http://spblinux.de/fbox/, da es Asterisk für die FritzBox aufbereitet zur Verfügung stellt.
Wenn man keine besonderen Zusätze, z.B. Voicemail, für Asterisk benötigt, dann kann man auf das meiste der Anleitung verzichten. Das Installations- und Konfigurationsskript erledigt dann alles.
Hier sollte noch was hin!
Unsere Änderungen sind im Hinblick auf das einfache Installieren einer neuen Asterisk-Software entstanden. Dabei ist uns klar, daß auch wir einen Kompromiss eingehen, den jemand anderes nicht so machen würde. Wir sind offen für Vorschläge, die unsere HowTo und die Asterisk Nutzung verbessern. Dafür haben wir eine Diskussion angelegt, in der man aber auch für die verschienen Bereiche ausführlichere Anmerkungen schreiben kann.
Die Standardinstallation kann nicht mit dem Voicemail Modul für Asterisk umgehen. Das liegt an der Direktive, die der Maintainer sich auferlegt hat. Es will, daß man Asterisk mit möglichst wenig Umständen installieren kann.
Voicemail benötigt aber ein Unix Dateisystem, in dem es die Aufnahmen speichern kann. Desweiteren ist in der aktuellen Version das tmp-Verzeichnis des Asterisk-Root ins RamFS der Fritzbox gelinkt. Da es für den Versand der Mails benötigt wird, könnte es „vollaufen“ und damit die FirtzBox „lahmlegen“.
Das wichtigste ist, daß man sich einen USB-Sick in mittlerer Größe besorgt. Mit 64 MB oder 128 MB reichen sicher aus, doch gibt es sie kaum noch auf dem Markt. Man sollte sich nach der gewünschten Größe der Mailbox richten.
Da der USB-Stick in dieser Konfiguration öfters beschrieben wird, sollte man darauf achten, regelmäßig die Daten zu sichern. Die Schreibzyklen eines Sticks sind stark begrenzt!
Den USB-Stick muß man partitionieren:
Da dieses auf einem normalen PC gemacht wird, kann man auch gleich die aktuelle Asterisk-Installationsdatei auf die FAT-Partition speichern.
Jetzt kann man den USB-Stick in die Fritzbox stecken, die diesen auch gleich mountet.
Für die Installation muß man sich per telnet auf der FritzBox anmelden. Dazu muß man diesen Zugang erstmal aktivieren.
Nach dem Einloggen wechselt man in das Verzeichnis /var/media/ftp/FlashDisk-Partition-0-1/1) und ruft das Script zur Installation auf und übergibt den Parameter für USB:
chmod +x cfg_asterisk ./cfg_asterisk usb_install
Nun ist asterisk fertig installiert und automatisch gestartet.
Nun kommen die Änderungen für die flexiblere Nutzung.
Zum Einrichten haben wir eine Skript geschrieben, daß entweder auf der Konsole Zeile für Zeile ausgeführt, oder in eine Datei auf dem USB-Stick abgespeichert und ausgeführt werden kann.
<file bash|modTHEadd.sh> #!/bin/sh
## Asterisk Stoppen! ….
## Ext2 Partition einbinden mkdir /var/ext mount /dev/sda2 /var/ext
## Benötigte Verzeichnisse erstellen # Die bezeichnungen orientieren sich zum Asterisk Root mkdir /var/ext/asterisk_root mkdir /var/ext/asterisk_tmp mkdir /var/ext/asterisk_vartmpasterisk mkdir /var/ext/asterisk_spool
## Kopieren der Konfigurationsdateien # Das macht das cfg_asterisk auch :( # Es sind die Dateien, die im etc des Asterisk-Root verlinkt sind. cp -p /var/asterisk/etc/*.conf /var/ext/asterisk_vartmpasterisk/ cp -p
## Unmounten der Asterisk-Mounts # Ein Kopieren ohne umount führt in ein Loop …
## „Kopieren“ des gemounteten Squashfs # Der cp Befehl kann nichts, daher eine tar-pipe tar cf - /var/asterisk/* | tar xf /var/ext/asterisk_root/
## Startskript erstellen
## debug.cfg eintragen
## Rebooten
</file>
Die Fritzbox ist eine gute Grundlage für den Aufbau einer kleinen Asterisk basierten Telefonanlage. spblinux hat eine umfangreiche Erweiterung für die Fritzbox erstellt die ein auf der openwrt-Version basiertes Asterisk installiert.
Die Installation erfolgt wahlweise in eine RAM-Disk oder auf ein USB-Stick. Bei der USB-Stick Installation wird davon ausgegangen, dass die erste Partition des USB-Sticks eine FAT Partition ist und dass keine ext2 Partition vorhanden ist. Außerdem wird aus Kompatibilitätsgründen zu der älteren FritzBox-Firmware eine chroot Umgebung erstellt.
Dieses chroot wird als squashfs-lzma in eine RAM-Disk geladen und gemountest. Die benötigten Verzeichnisse werden mit -o bind eingebunden.
Diese Konstruktion führt jedoch bei der Verwendung der voicemail-Lib von Asterisk zu ein paar Problemen:
/tmp an. Dieses Verzeichnis muß vorhanden sein und über genügend Platz verfügenEine Lösung für all diese Probleme bietet eine eigene ext2-Partition auf dem USB-Stick. Es darf jedoch nicht die erste Partition sein, da sonst die Skripte der Fritz-Box alle Daten beim einbinden des Sticks löschen. Der Stick sollte also folgendermaßen partitioniert werden:
Device Boot Start End Blocks Id System /dev/sda1 1 978 250352 e W95 FAT16 (LBA) /dev/sda2 979 1956 250368 83 Linux
Die FAT-Partition kann natürlich auch kleiner gewählt werden.
Zur Vorbereitung der Installation wird der USB-Stick nach der Partitionierung auf einem Linux-Rechner gemountet:
mount /dev/sda2 /media/mnt
außerdem benötigen wir noch ein passendes unsquashfs-tool:
cd /tmp wget http://spblinux.de/fbox/unsquashfs-lzma.x86 chmod +x unsquashfs-lzma.x86