Horstbox: Automatisch wählen per Befehl

25. November 2008

Ihr Anliegen

Sie telefonieren mittels einer Horstbox mit Firmewarestand 5.0. Sie möchten von Linux aus per Kommandozeilenbefehl ein Gespräch auf der Horstbox auslösen. Dabei möchten Sie auch vorgeben, welches Telefon Sie verwenden möchten.

Voraussetzungen

Die Horstbox ist zum Telefonieren fertig eingerichtet. Sie haben die Administration per SSH aktiviert. Der SSH-Schlüssel, den Sie dabei eingerichtet haben, gehört dem Benutzer, der auf der Kommandozeile das Wählen auslösen soll. Er ist nicht durch eine Passphrase geschützt (oder Sie haben auf eine andere Methode erreicht, dass Sie kein Passwort brauchen). Das bedeutet, dass Sie sich per ssh 192.168.0.1 ohne Passworteingabe einloggen können.

Das Vorgehen

Das hier vorgestellte Vorgehen verwendet nicht die TAPI, sondern löst das Wählen durch das Anlegen eines Callfiles aus. Dabei machen wir uns zunutze, dass die Horstbox eine recht "normale" Asterisk-Implementierung verwendet.

Der folgende Kommandozeilenbefehl erzeugt mit einem simplen echo ein zweizeiliges Callfile, welches das Telefon 300 klingeln lässt. Die Zielnummer ist 089/11223344. Die Ausgabe des echo wird per SSH auf die Horstbox übertragen (hier unter der IP-Adresse 192.168.0.1). Dort wechselt das Skript nach /mnt/var/spool/asterisk und richtet die Ausgabe des echo in eine Datei tmp/anruf um. Diese wird für Asterisk lesbar gemacht und dann ins Verzeichnis outgoing geschoben:

echo -e 'Channel: zap/g2/300\nExtension: 08911223344' | \
 ssh 192.168.0.1 "cd /mnt/var/spool/asterisk/ ; cat > tmp/anruf ; chmod 666 tmp/anruf ; mv tmp/anruf outgoing"

Etwa eine Sekunde später klingelt das Telefon. Sobald man abhebt (und nicht vorher!) beginnt die Horstbox mit dem Rufaufbau zur Zielnummer.