Ruf mal an

Asterisk als interne Telefonanlage zu konfigurieren ist zunächst relativ einfach. Mehr Aufwand erfordern die Einrichtung des Anrufbeantworters und die Anbindung an das externe Telefonnetz via ISDN.

In Pocket speichern vorlesen Druckansicht 2 Kommentare lesen
Lesezeit: 5 Min.
Von
  • Thilo Rößler

Nach der Grundkonfiguration von Asterisk für den Einsatz interner Telefone im ersten Teil sieht die Konfigurationsdatei extensions.conf aus wie in Listing 1.

Mehr Infos

Listing 1

Zunächst enthält extensions.conf für jedes Telefon ähnliche Einträge.

--- extensions.conf ---
[global]
RINGTIME=20
[default]
exten => 100,1,Dial(SIP/xlite1,${RINGTIME})
exten => 100,2,Busy
exten => 101,1,Dial(SIP/xlite2,${RINGTIME})
exten => 101,2,Busy
exten => 102,1,Dial(SIP/xlite3,${RINGTIME})
exten => 102,2,Busy
[local]
include => default

Ein Nachteil dieser Definition von Nebenstellen springt sofort ins Auge: Für jedes angeschlossene Telefon gibt es einen eigenen Eintrag. Pattern Matching bietet sich als Verbesserung an:

exten => _XXX,1,Dial(SIP/${EXTEN},${RINGTIME})
exten => _XXX,2,Busy

Patterns beginnen in der Asterisk-Konfiguration immer mit „_“. Das X steht für die Ziffern von 0 bis 9. Die Variable ${EXTEN} existiert automatisch und hat den durch das Muster definierten Wert, eine Definition wie bei ${RINGTIME} ist überflüssig. Ruft also jemand die 102 an, trifft diese Durchwahl auf das Pattern _XXX zu, Asterisk setzt den Wert von ${EXTEN} auf 102 und führt das Dial-Kommando aus.

Offensichtlich muss bei der Verwendung von Patterns ein leicht abbildbarer Zusammenhang zwischen der Durchwahl und dem Namen des anzuwählenden Telefons bestehen. Am einfachsten ist es, für beide dieselben Zeichenketten zu wählen. Dafür sind Änderungen in der sip.conf nötig:

[100]
type=friend
username=100
secret=123456
host=dynamic
disallow=all
allow=gsm
allow=alaw

Analog muss man die Namen der Telefone ändern. Alternativ lässt sich der Zusammenhang zwischen Rufnummer und Telefon in einer anderen Datenquelle abbilden und beispielsweise mit einem AGI-Script (Asterisk Gateway Interface) ermitteln. Details dazu entfallen hier aus Platzgründen.

X steht für alle Ziffern, folglich passen auch mit 0 beginnende Nummern auf das hier verwendete Muster. Das ist unerwünscht, denn diese Ziffer dient meist als Indikator für ein externes Gespräch. Statt X für alle Ziffern kann man Z für 1 bis 9 verwenden, [1-3] für die 1, 2 und 3 oder einfach nur die 1 für sich selbst.

Da nicht jeder ständig an seinem Arbeitsplatz auf das Klingeln des Telefons warten kann, bietet Asterisk einen Anrufbeantworter („Voicemail“). Zu seiner Konfiguration dient die Datei voicemail.conf:

[general]
...
format=wav49
...
[default]
100 => 1111,Peter Müller,peter.mueller@intra.local
101 => 1111,Horst Schmidt,horst.schmidt@intra.local

100 beziehungsweise 101 sind die Nummern der Mailboxen. Sinnvollerweise definiert man diese ebenso wie die Durchwahlen. Momentan sind beide Boxen mit dem Passwort „1111“ versehen, außerdem enthält die Konfigurationsdatei den Namen und die Mail-Adresse des Eigentümers. Läuft ein SMTP-Server auf dem Server, kann Asterisk mit dieser Information Nachrichten per Mail direkt an den Adressaten zustellen - praktisch vor allem, wenn er geschäftlich unterwegs ist. Hinter format im Abschnitt [general] steht das für die Speicherung der Nachrichten verwendete Format.

Statt einen Anrufer nach einer bestimmten Zeit mit einem Besetzt-Ton zu konfrontieren oder kommentarlos aufzulegen, lassen die folgenden Zeilen in extensions.conf den Anrufbeantworter anspringen:

exten => _ZXX,1,Dial(SIP/${EXTEN},${RINGTIME})
exten => _ZXX,2,Voicemail(u${EXTEN})
exten => _ZXX,3,Playback(vm-goodbye)
exten => _ZXX,4,Hangup()

Nach 20 Sekunden erfolglosen Klingelns aktiviert Asterisk die Voicemailbox mit der angegebenen Nummer (die hier der Durchwahl entspricht), und der Anrufer kann seine Nachricht aufsprechen. Der Buchstabe u („unavailable“) sorgt dafür, dass der Anrufer per Ansage von der Nichterreichbarkeit des gewünschten Gesprächspartners erfährt. Alternativ stellt b eine „busy“-Ansage ein. Außerdem spielt Asterisk in beiden Fällen einen Text mit Informationen zur Nutzung des Voicemail-Systems ab, was sich mit s (auch in Kombination mit u und b) unterdrücken lässt.

Hat er alles Nötige gesagt, beendet der Anrufer das Voicemail-System durch Auflegen des Hörers. Alternativ drückt er die #-Taste („Pound-Key“); dann spielt Asterisk ein „Goodbye“ ab und legt anschließend selbst auf. Sound-Dateien zum Abspielen durch die Playback-Applikation befinden sich unter /var/lib/asterisk/sounds. Ihren Namen übergibt man an Playback ohne Erweiterung.

Aufgesprochene Nachrichten befinden sich unterhalb von /var/spool/asterisk/voicemail/. In diesem Verzeichnis liegen sie in Unterverzeichnissen der Form <context>/<boxnummer>/INBOX. Der Kontext der bislang eingerichteten Voicemailboxen ist immer „default“. Als Speicherformat verwendet Asterisk das im Abschnitt [general] der voicemail.conf angegebene, in diesem Fall ist das ein Wave-Derivat.

Im Artikel in der Printausgabe ist außerdem zu lesen, wie man für deutschsprachige Ansagen sorgt, einen Anrufbeantworter einrichtet und die Verbindung zur ISDN-Welt herstellt. Ebenfalls in diesem Heft: ein Artikel zu PCI4S0, einer 4-Port-ISDN-Karte von Sirrix.

Teil I: Einführung, Installation, Anbindung von Softphones.

Teil III: Asterisk-Vernetzung, Anbindung vorhandener TK-Anlagen, Tipps und Tricks. (ck)