CapiRcvd

Da ich den capircvd sehr interresant finde möchte ich ihn hier auch kurz vorstellen. Dies ist ein Server der direkt auf der CAPI aufsetzt und Faxempfangsserver und Anrufbeantworter ist. Leider wird das Programm nicht mehr weiterentwickelt. Es bietet Wähltonerkennung (z.B zur Fernabfrage des Anrufbeantworters, und kann je nach anrufender Nummer und angerufener Nummer entscheiden wie mit dem Anruf weiterverfahren werden soll (verschiedene Ansagetexte, Abweisung usw.). Eine weiter Möglichkeit ist, verschiedene Töne abzuspielen, je nachdem welche Nummer anruft (z.B. "Vorsicht Chef", wenn der Chef anruft ;-) ). Wie der Name schon sagt dient der capircvd nur dem Empfangen. Man kann ihn sich hier herunterladen. Weiterhin braucht man das Paket sff2misc, welches auch dort runtergeladen werden kann. Die Installation ist sehr einfach. So wie immer tar xvfz capircvd....tar.gz, ins Verzeichnis wechseln, und dann ./configure --prefix=/usr &&make && make install eingeben. Die Konfigurationsdateien liegen in /etc/capircvd/ . Die Datei capircvd.conf enthält die Konfiguration. Da man , was ich nicht getestet habe, den capirecvd per telnet administrieren können soll, existiert die datei capircvd.state , welche die dann aktuelle Konfiguration enthält. Die capircvd.conf ist in Sektionen aufgeteilt. Diese werden mit einem '=' eingeleitet:

=global
iprefix 49 (Länderkennung für Deutschland)
nprefix vorwahl
onerror exit

Diese Sektion enthält allgemeine Voreinstellungen.

=default
handler capircvd.handler
recipient root@localhost

In dieser Sektion definiert man alle Einstellungen die für alle weiteren Sektionen auch gelten sollen. Dabei werden diese Werte in den weiteren Sektionen überschrieben, wenn sie dort angegeben sind. Der handler ist das Programm was sich um die Weiterverarbeitung der Anrufe und Faxe kümmert. Standardmässig werden einem die Faxe und Anrufe zugemailt an die angegebene Mailadresse. das File capircvd.handler ist ein bash-script und somit ist der Weg für Eigenentwicklungen offen ;o).

=4912345678
mode fax
faxid +49_xxxx_xxxxx filename from-%2$s-to-%1$s-%3$06d_%6$04d-%7$02d-%8$02d_%9$02d.%10$02d.%11$02d.sff
mailformat inline_jpeg

Die Zahlen in dieser Sektion ist die angerufene Nummer, also 49 für Deutschland 1234 für die Vorwahl ohne 0 und 5678 als MSN. Die faxid wird dem Empfänger angezeigt, was wohl nur für faxpolling interessant ist, da capircvd ja keine Faxe sendet. Der Parameter filename legt fest wie der Name des abgelegten Faxes lauten soll. Dabeihat man folgende Möglichkeiten:

%1$s     angerufene Nummer %2$s     Nummer des Anrufers
%3$d     fortlaufender Zähler
%4$d     Sekunden seit dem 1.1.1970 wozu das auch immer gut sein soll ;o)
%5$d     das gleiche mit Mikrosekunden
%6$d     das jahr
%7$d     Monat
%8$d     und Tag
%9$d      sowie Stunden,
%10$d    Minuten und
%11$d    Sekunden

=4912349876
mode voice
delay 3
announcement 4912349876.alaw

Dies wäre nun eine Sektion für einen Anrufbeantworter auf der MSN 9876. Der Wert von delay wird in Sekunden angegeben (Wartezeit bis der AB rangeht.) Mit announcement gibt man die Datei an, die dem Anrufer vorgespielt werden soll. Erstellen kann man dieses Ansagefile z.B. mittels xsox . Das File muß imho 8bit/16kHz mono sein. Nach der Aufnahme kann man mittels sox file.wav file.al ; cat file.al | al2alaw > file.alaw in das von capircvd benötigte Format umwandeln. Das Programm al2alaw kann man im quellcode aus dem contrib Verzeichnis von capircvd runterladen. Mittels gcc al2alaw.c -o al2alaw muß man dieses dann kompilieren.

Um das Programm nun als "Empfangsserver" zu benutzen schreibt man in die inittab folgende Zeile:
crcv:2345:respawn:/usr/sbin/capircvd
Auf Wunsch kann man den Level der Debugmeldungen einstellen ( -D n) oder die Ausgabe von akustischen Meldungen auf /dev/audio aktivieren ( -a ). Bei der Ausgabe von akkustischen Meldungen versucht capircvd ein passendes Namen_* zu finden um dieses dann auszugeben (z.B. Namen_49172.alaw wenn ein D2-Handy anruft).

Zum Versenden von Faxen könnte man z.B. capifax aus dem isdn4linux-Paket nutzen. Der capircvd hat noch etliche Funktionen mehr, da die capircvd.conf sehr gut dokumentiert ist, möchte ich hier nicht weiter daruf eingehen.