6.2 Konfigurieren von Voicemail
Asterisk bietet die Möglichkeit der Einrichtung einer Voicemail. Vergleichbar ist ein Voicemailsystem mit einem Anrufbeantworter. Der Hauptunterschied besteht aber darin, dass ein Anrufbeantworter ein Gerät ist, welches für ein einzelnes Telefon zuständig ist und Voicemail ein Serverbasiertes System ist, welches für mehrere Telefone innerhalb der PBX zuständig ist. Außerdem bieten Voicemailsysteme einen höheren Funktionsumfang als Anrufbeantworter. So können beispielsweise aufgenommene Nachrichten per E-Mail zugestellt werden, oder Benachrichtigungen an andere Telefone oder Pager gesendet werden wenn eine Nachricht hinterlassen worden ist.
Bevor man Voicemail nutzen kann müssen die Mailboxen für die einzelnen Nutzer konfiguriert werden. Dies geschieht in der Datei /etc/asterisk/voicemail.conf.
Code:
[general]
format=wav
serveremail=Asterisk
attach=yes
maxmessage=180
minmessage=3
axsilence=10
charset=ISO-8859-1
fromstring=Asterisk Telefonanlage
pagerfrom
string=Asterisk Telefonanlage
emailsubject=Neue Nachricht (${VM_MSGNUM}) in Mailbox von ${VM_CALLERID}
emailbody=Auf Ihrer Mailbox wurde eine neue Nachricht hinterlassen.\nDie Nachricht befindet sich im Anhang dieser E-Mail.
mailcmd=/usr/sbin/sendmail
[default]
20 => 20,Obelisk,[email protected]
21 => 21,Miracolix,[email protected]
format=wav
Welches Format für die Sprachdatei verwendet werden soll. Zur Auswahl stehen wav, wav49 oder gsm.
[email protected]
Was als Absender erscheinen soll.
attach=yes
Die Sprachdatei soll als Anhang versendet werden.
maxmessage=180
Die maximale Länge der Nachricht in Sekunden.
minmessage=3
Die minimale Länge der Nachricht.
maxsilence=10
Wenn bei der Aufnahme 10 Sekunden nicht gesprochen wird, wird die Aufzeichnung gestoppt.
charset=ISO-8859-1
Das Nachrichtenformat der E-Mail.
pbxskip=yes
PBX im Nachrichtentitel überspringen
fromstring= Asterisk Telefonanlage
Der „From“ Titel in der Email.
pagerfromstring=The Asterisk PBX
Der “From” Titel in einer Pager-Nachricht.
emailsubject=
Hier kann man den Betreff der E-Mail definieren.
emailbody=
Hier kann man die E-Mail definieren. Wie auch beim emailsubject kann man verschieden Variablen mit einbauen:
VM_NAME Mailboxname
VM_DUR Dauer der Ansage
VM_MSGNUM Nachrichtennummer
VM_MAILBOX Mailboxname
VM_CALLERID von Teilnehmer CallerID
VM_DATE wann auf die Mailbox gesprochen wurde
mailcmd=/usr/sbin/sendmail –t
Das Programm zum zustellen der Nachricht per Mail.
20 => 20,Obelisk,
[email protected]
Hier findet die Einrichtung der Mailboxen statt. Folgende Syntax wird verwendet:
<Mailbox> => <Passwort>,<Name>,<Email>,<pager_email>,<Optionen>
Im folgenden Beispiel wollen wir einstellen, dass eine Voicemailbox aktiviert wird, wenn bei einem Anruf nach 15 Sekunden das Gespräch nicht angenommen wird.
In unserer extensions.conf müssten wir folgenden Eintrag vornehmen:
Code:
[20]
exten => 20,1,Dial(SIP/20,15)
exten => 20,2 Voicemail(20)
exten => 20,3,Hangup
exten => 20,1,Dial(SIP/20,15)
Als erste Priorität wird also bei der Anwahl 20 der SIP Teilnehmer 20 gerufen.
exten => 20,2 Voicemail(20)
Sollte dieser das Gespräch nach 30 Sekunden nicht annehmen antwortet als zweite Priorität die Voicemailbox 20.
exten => 20,3,Hangup
Danach wird das Gespräch beendet.
Natürlich gibt es auch die Möglichkeit die Mailbox per Telefon abzurufen.
Dazu können wir folgende extension im Rufnummernplan verwenden:
Code:
[mailbox]
exten=> 9999,1,Answer
exten=> 9999,2,Wait(1)
exten=> 9999,3,VoicemailMain2(s${CALLERIDNUM})
exten=> 9999,4,Hangup
exten=> 9999,1,Answer
Wenn man nun von seinem registrierten SIP-Apparat die Rufnummer 9999 wählt, antwortet in der ersten Priorität der Asterisk.
exten=> 9999,2,Wait(1)
Als nächstes wartet er eine Sekunde.
exten=> 9999,3,VoicemailMain2(s${CALLERIDNUM})
Und startet als drittes das Sprachmenü für die Mailbox des Benutzers. Da der Mailboxname gleich der CallerID des SIP-Clienten entspricht, kann zur Ermittlung der richtigen Mailbox die Variable ${CALLERIDNUM} verwendet werden. Mit Hilfe des s vor ${CALLERIDNUM} wird verhindert, daß das Passwort der Mailbox abgefragt wird.
Man kann aber auch die Rufnummer des anrufenden überprüfen. Dazu ändert den Abschnitt [mailbox] folgendermaßen ab:
Code:
[mailbox]
exten=> 9999/_[1-9].,1,Answer
exten=> 9999/_[1-9].,2,Wait(1)
exten=> 9999/_[1-9].,3,VoicemailMain2(s${CALLERIDNUM})
exten=> 9999/_[1-9].,4,Hangup
Durch den Schrägstrich / wird die Rufnummer des Anrufenden ausgewertet. Hinter dem Schrägstrich steht ein Suchmuster, welches die Rufenummer des anrufenden beschreibt.
Die Rufnummer muß mit einer Ziffer von1 bis 9 beginnen ([1-9]) , gefolgt von beliebig vielen Zeichen (.) Wir erinneren uns an Kapitel 3.3.4. ;-)
Somit kann niemand auf das Voicemailmenü zugreifen dessen Rufnummer mit einer 0 beginnt.
_________________________________________________
Auszug aus "Asterisk kompakt"