Asterisk auf die FritzBox - HowTo

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.

Einführung

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.

FIXME 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.

Gründe für die Änderungen

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“.

Vorbereitung

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:

  1. Am Anfang des USB-Sticks muß eine primäre vFAT Partition sein. (Größe: 32 MB)
  2. Der Rest wird zu einer primären ext2 Partition.
  3. Erstellen der Dateisysteme

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.

Installation

Standard

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

FritzBox Konsole

Nun ist asterisk fertig installiert und automatisch gestartet.

Speziell

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>

Startskript

Konfiguration

nrls Text

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:

  • Die RAM-Disk benötigt Speicher der für Asterisk+Voicemail nicht mehr zur Verfügung steht
  • Voicemail benötigt ein spool-Verzeichnis, dass lock-Files unterstützt (unter FAT nicht möglich).
  • Voicemail legt zu verschickende Mails unter /tmp an. Dieses Verzeichnis muß vorhanden sein und über genügend Platz verfügen

Eine 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.

Asterisk Installation

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
1) Das Verzeichnis wird von der FritzBox automatisch erstellt und ist von dem USB-Stick abhängig. Es kann zu Namensabweichungen kommen
computer/howtos/avmfritzboxasterisk_howto.txt · Zuletzt geändert: 2007/05/03 08:46 von corren
www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0