LinuxNetMag
ISDN-Anrufbeantworter
Archiv | Home
Inhalt
   
LinuxNetMag #2

  Software
 MP3
Player
Encoder
Ripper
IDE
 Spiele
QuakeII: XQF, MODs
Action: Maelstrom, bzflag
Entwicklung
 Applikationen
Windowmaker/Gnome
TkBrief
  
 

Netzwerk

suck: News saugen
ISDN-Anrufbeantworter
Fetchmail Teil 1
ICQ-Clients
empfehlenswerte Links
  
 

Hardware

Zip-Laufwerk Teil I
SANE - Scannen
  
 

Sonstiges

Editorial
Leserbriefe-Meinungen
Mailing-Liste
Liste aller Artikel
Unterstützen Sie uns



Druckversion


  Telefon Wer im Besitz einer ISDN-Karte ist, ärgert sich meist schon genug, daß er damit unter Linux nicht Faxen kann.
Zumindest funktioniert die Karte als Anrufbeantworter.
Einen derartigen Helfer kann man sich problemlos selbst zurechtkonfigurieren.

... eine Nachricht nach dem Piepton ...

Wenn der PC sowieso den meisten Teil des Tages läuft, ohne daß man anwesend ist, lohnt es sich, den PC als Anrufbeantworter zu benutzen. Das bietet durch die vielen Konfigurierationsmöglichkeiten eines solchen Helfers eine Reihe von Vorteilen.  Da bei ISDN die Telefonnummer immer mit übermittelt wird, ist es ein leichtes diese Nummer auszulesen, und somit für den jeweiligen Anrufer eine persönliche Ansage auf dem Anrufbeantworter zu benutzen. Man kann ungewünschten Personen auch den Zugriff auf den Anrufbeantworter gänzlich sperren.
Es ist sogar möglich seinen Anrufbeantworter übers Internet zu warten, wenn man denn will (siehe IX 02/1997). Aber soweit wollen wir hier gar nicht gehen. Nur kurz die notwendigsten Schritte, um erstmal seinen Anrufbeantworter unter eine SuSE (6.0) System zum laufen zu bekommen, werden in diesem Text erläutert. Unter anderen Distributionen sollte eine Installation analog verlaufen.

Vbox hebt ab

Wenn sie ein laufendes ISDN-System unter Linux haben, also mit ISDN schon ins Internet kommen, sollte vbox schon installiert sein, da dieses im rpm-Paket von i4l (ISDN for Linux) ab SuSE6.0 mitinstalliert wird. Vbox ist eine ISDN-Version des programmes mgetty, welches einen Anrufbeantworter für Analog-modems bereitstellt.
Das Haupstück von vbox ist das Programm vboxgetty, welches unter /usr/sbin/vboxgetty liegt. Dieses Programm verwaltet die eingehenden Anrufe und speichert die aufgenommenen Nachrichten ab.
Als erstes sollte ausprobiert werden unter welchen Device ihr Anrufbeantworter angesprochen werden kann. Als Benutzer root sollten sie mit

>> /usr/sbin/vboxgetty -d /dev/ttyI0

versuchsweise Ihren Anrufbeantworter starten.
Wenn das Programm ohne Fehlermeldung startet, sollten Sie sich die Ausgabe von vboxgetty ansehen. Diese liegt unter /var/log/vbox/vboxgetty-ttyI0.log
In dieser Datei sollte etwas ähnliches stehen wie:
 

Datei /var/log/vbox/vboxgetty-ttyI0.log (gekürzt)
--------[Begin session]--------
Running vbox version 2.0.0 BETA 5...
Tcl interpreter version 8.0...
Found command 'debuglevel = FEWIDJ' (-global-)...
Found command 'modeminit = ATZ&B512&E5' (-global-)...
Found command 'user = ronny' (-global-)...

[...]

Locking modem port (/var/lock/LCK..ttyI0)...
Setting "/var/lock/LCK..ttyI6" to 506.100 (0644)...
Drop permissions to userid 506; groupid 100...
Initializing modem port (voice mode; 2500 ms)...
Hangup modem (drop dtr 400 ms)...
Flushing modem (timeout)...
Reading modem echo (4 secs timeout)...
Reading modem input (4 secs timeout)...
Waiting for "OK"... Got it.
Flushing modem...
Waiting...

Dann ist vboxgetty korrekt gestartet worden. Nun kann man testweise sich selbst anrufen (bei ISDN ja kein Problem -- einfach von der zweiten Nummer aus intern anrufen), und sehen, ob vboxgetty auf den Anruf reagiert. Dabei sollte man sich einerseits die Log-File von vboxgetty ansehen mit 

>> tail -f /var/log/vbox/vboxgetty-ttyI0.log

und auch die allgemeine Log-Datei mit

>> tail -f /var/log/messages

Reagiert vboxgetty auf den Anruf ist dies sofort sichtbar in der Ausgabe der Log-Datei mit einem ähnlichen Eintrag wie
 

Datei /var/log/vbox/vboxgetty-ttyI0.log (gekürzt)
[ 1/ 6] CALLER NUMBER: 3495252XXXX (*** Unbekannt ***)...
Reading modem input (6 secs timeout)...
[ 2/ 6] RING...
Reading modem input (6 secs timeout)...
 [ 3/ 6] RING...
 Reading modem input (6 secs timeout)...
[ 4/ 6] RING...
 Reading modem input (6 secs timeout)...
 [ 5/ 6] RING...
Reading modem input (6 secs timeout)...
 [ 6/ 6] RING...

Sollte sich die Log-Datei nicht derart ändern, kann einen die Ausbgabe von /var/log/messages weiterhelfen.

Ein möglicher Fehler ist, daß man das Einwählen ins eigene System gesperrt hat. Dies kann man mit yast ausstellen unter

Administration des Systems ->  Netzwerk konfigurieren ->  ISDN-Parameter konfigurieren

Dort gibt es die Auswahlpunkte

  • Nummern, die anrufen dürfen
  • Nur angegebene Nummern erlaubt
Das erste Feld sollte frei bleiben, und beim zweiten sollte der Kasten nicht aktiviert sein.
Sollte vboxgetty nun immer noch nicht auf einen Anruf reagieren, dann kann es auch möglich sein, daß man  das falsche Device benutzt. Dann sollte man alle verfügbaren Devices /dev/ttyI# durchgehen (von 0 angefangen), und jedesmal sich selbst anrufen und die Log-Dateien beobachten. (Achtung, nun auch die Logdatei zum jeweiligen Device ansehen, und nicht mehr vboxgetty-ttyI0.log). Meistens liegt hier der Fehler. 
Hat man erstmal das richtige Device gefunden, und reagiert der Anrufbeantworter, wird man von einer Beispielansage von vbox empfangen.

Nun folgt noch die Anpassung einiger Konfigurationsdateien.
Hierfür benutzt man am besten das SuSE-eigene Programm SuSEVboxConf,
welches als root gestartet werden muß. Diese Programm führt dann durch die nächsten Schritte der Konfiguration.
Die schwerste Stücke wäre damit ersteinmal geschafft, ab jetzt folgt nur noch Kleinarbeit.

Automatisch starten

Um nun den Anrufbeantworter bei jedem PC-Start automatisch zu starten, benutzt man einen Eintrag in der Dater /etc/inittab
Dort sollte man die Zeile

I0:23:respawn:/usr/sbin/vboxgetty -d /dev/ttyI0

hinzufügen. Man benutzt hier natürlich dasjenige Device, auf welches vboxgetty reagiert. (Man kann diesen Start zwar auch mit einem Init-Script lösen, aber die Inittab ist momentan noch unkomplizierter).
Desweiteren benötigt man einen Eintrag in der Datei /etc/inetd.conf
Diese Datei erweitert man um den Eintrag

vboxd   stream  tcp     nowait  root    /usr/sbin/tcpd  /usr/sbin/vboxd

Somit sollte der Anrufbeantworter bei jedem Booten immer mitgestartet werden. (Man muß Linux nicht neu booten, um dies zu testen ein init 1 und nach dem erreichen des Single-User-modes ein init 2 reichen auch aus)

Feinschliff

Nun müssen nur noch die Konfigurationsdateien an die eigenen Wünsche angepaßt werden. Der User, der den Anrufbantworter nutzen will, sollte sich, wenn noch nicht vorhanden, unter /var/spool/vbox ein Verzeichnis mit seinem Usernamen anlegen. Also z.b. für den Benutzer frank5 unter

 /var/spool/vbox/frank5

In dieses Verzeichnis werden dann  die Beispielkonfigurationen hineinkopiert, die mit vbox geliefert werden und unter standardmäßig unter /usr/doc/packages/i4l/vbox /examples liegen.
Man benötigt die Dateien vbox.conf und (wichtig!!) stadard.tcl .
Zusätzlich benötigt man ein Verzeichnis für die Ansagen und eins für aufgenommene Nachrichten

Nachrichten unter /var/spool/vbox/frank5/incoming
Ansagen unter /var/spool/vbox/frank5/messages

Als normaler Benutzer (nicht root) kann man jetzt mit dem Programm SuSEVbox die eingegangenen Nachrichten anhören. Ansagen nimmt man am besten so auf, daß man sich selbst anruft, und die dadurch erzeugte Datei im Verzeichnis incoming einfach umbenennt und nach messages kopiert.
Um verschiedenen Anrufern eine jeweilige Ansage zuzuorden benutz man die Datei vbox.conf. Diese kann man zwar mit SuSEVbox konfigurieren, allerdings ist es eher unkomplizierter, wenn man die Datei mit einem Texteditor bearbeitet. Die Konfiguration deiser Datei ist nahezu selbsterklärend.

Das Script standard.tcl ist für die Verarbeitung der eingehenden Nachrichten zuständig, und verschickt standardmäßig eine Mail an den Benutzer, sobald eine Nachricht auf dem Anrufbeantworter liegt. Somit kann man über biff, oder einen beliebigen andern Mail-Monitor auch gleich den Anrufbeantworter im Auge behalten.

Hier zwei Konfiguratiosdateien. Speziell die defaultmäßig mitgelieferte Datei standard.tcl macht bei einigen Systemen probleme

 Abschließend noch zwei Tips: 
Der Piepton zwischen Ansage und Aufnahme sollte möglichst lang sein, da er ansonsten in einem Knackgeräusch untergeht.
Da SuSE es bei älteren SuSE-Distributionen versäumt hat, die nötigen Programme (pvftools) für das Abspielen und konvertieren der Message-Dateien mitzuliefern, kann sich schnell mit folgenden beiden Scripten abhelfen:
  • susevboxplay, verändert um ohne pvftools auszukommen. Allerdings kann man dann die Lautstärke beim Abspielen nicht mehr erhöhen.
  • playau um au-Dateien abzuspielen

Links
vbox ftp://ftp.franken.de/pub/isdn4linux/contributions/
ISDN  http://www.muc.de/~hm/linux/linux-isdn.html 

Platz für Kommentare & Fragen:
(selbst eintragen)

    -vbox gibt keinen Ton von sich - 10.8, Erik Held
        -RE: vbox gibt keinen Ton von sich - 10.8, Ronny Ziegler
            -RE: vbox gibt keinen Ton von sich - 10.8, Erik Held

 

 
Weitere Ausgaben Linux NetMag
[ #1 | #2 | #3 | #4 | Main ]