voicemail.conf

In der Datei voicemail.conf wird das Voicemailsystem von Asterisk konfiguriert. Es besteht aus 3 Bereichen:

  • [general]
  • [zonemessages]
  • Freie Contexte

[general]

Im Bereich [general] werden allgemeine Konfigurationen des Voicemailsystems vorgenommen. Es stehen folgende Optionen zur Verfügung:

attach = [yes|no]

Legt fest, ob an die Benachrichtigungs-E-Mails an die Nutzer auch die Sprachnachricht als Sounddatei angehängt wird. Default: yes. Normalerweise wird das erste unter format eingestellte Format verwendet.

Beispiel:

attach = no

callback = [Context]

Legt einen Context fest, der für Rückrufe aus dem System benutzt wird. Ist dieser Wert nicht gesetzt, was per Default der Fall ist, dann kann der User keine Rückrufe aus dem Voicemailsystem machen.

Beispiel:

callback = intern

charset = [Zeichensatz]

Gibt den Zeichensatz (Charset) vor, in dem die E-Mails vom Voicemailsystem kodiert werden.

Beispiel:

charset = ISO-8859-1

delete = [yes|no]

Definiert, ob eine Sprachnachricht nach dem Versenden per E-Mail automatisch gelöscht werden soll. Dies spart Festplattenplatz auf dem Server, falls man Sprachnachrichten nur per E-Mail empfangen will.

Beispiel:

delete = yes

directoryintro = [Dateiname]

Definiert eine Sprachdatei innerhalb des Default-Verzeichnisses /var/lib/asterisk/sounds/, die anstatt der normalen Datei für das Dial-by-Name-System abgespielt wird (siehe „Telefonbuch (Dial-by-Name)“).

Beispiel:

directoryintro = intro-telefonbuch

emailsubject = [Text der Betreffzeile]

Definiert den Betreff (Subject) einer Benachrichtigungs-E-Mail. Für Informationen über Variablen siehe emailbody.

Beispiel:

emailsubject = Neue Sprachnachricht von ${VM_CALLERID}

pbxskip = [yes|no]

Standardmäßig schreibt Asterisk am Anfang der Betreffzeile der E-Mail-Benachrichtigung über eine Sprachnachricht den Text [PBX]: Dies kann mit yes unterdrückt werden.

Beispiel:

pbxskip = yes

emailbody = [Text der Email]

Definiert den E-Mail-Body[52] einer Benachrichtigungs-E-Mail (maximal 512 Zeichen).

Im Betreff und im Body einer solchen E-Mail kann auf folgende Variablen zugegriffen werden:

${VM_NAME}

Name des Mailboxinhabers

${VM_DUR}

Länge der Nachricht

${VM_MSGNUM}

Nummer der Nachricht

${VM_MAILBOX}

Name der Mailbox

${VM_CALLERID}

Telefonnummer und Name des Anrufers

${VM_CIDNUM}

Telefonnummer des Anrufers

${VM_CIDNAME}

Name des Anrufers

${VM_DATE}

Datum und Uhrzeit des Anrufes

${VM_MESSAGEFILE}

Name der Sounddatei, in der die Nachricht abgespeichert ist

Beispiel:

emailbody = Hallo ${VM_NAME},\n\nSie haben eine neue Nachricht von ${VM_CALLERID} in Mailbox ${VM_MAILBOX}. [53]

serveremail = [Absenderadresse]

E-Mail-Adresse, die als Absender der E-Mail vom Voicemailsystem an den User eingestellt wird.

Beispiel:

serveremail = voicemail@apfelmus-gmbh.de

fromstring = [Absendername]

Definiert den Absender (From-Header) in E-Mails vom Voicemailsystem.

Beispiel:

fromstring = AB

mailcmd = [Shell-Befehl]

Definiert das Programm (mit absolutem Pfad und ggf. Parametern), das zum Versenden von E-Mails benutzt werden soll. Default: /usr/sbin/sendmail -t

Beispiele:

mailcmd = /usr/sbin/sendmail -t

mailcmd = /usr/exim/bin/exim -t

externnotify = [Shell-Befehl]

Definiert ein Programm (mit absolutem Pfad), das von Asterisk aufgerufen wird, wenn eine neue Sprachnachricht für einen User vorliegt.

Beispiel:

externnotify = /usr/bin/local/mach-was.sh

externpass = [Shell-Befehl]

Definiert ein Programm (mit absolutem Pfad), das von Asterisk aufgerufen wird, wenn ein User sein Passwort geändert hat.

Beispiel:

externpass = /usr/bin/local/mach-was.sh

forcegreetings = [yes|no]

Definiert, ob ein User vom System dazu gezwungen wird, beim ersten Benutzen des Systems eine Begrüßungsnachricht aufzunehmen. Default: no

Beispiel:

forcegreetings = no

forcename = [yes|no]

Definiert, ob der User vom System dazu gezwungen wird, bei der ersten Nutzung seinen Namen aufzunehmen. Default: no

Beispiel:

forcename = yes

format = [gsm|wav|wav49]

Listet die Codecs auf, mit denen eine Sprachnachricht abgespeichert werden soll. Werden mehrere Codecs aufgeführt, werden auch mehrere Dateien gespeichert. Das kann im Extremfall zu Platzproblemen auf der Festplatte führen. Der Vorteil liegt darin, dass bei einer Abfrage die Nachricht nicht noch einmal neu kodiert werden muss, falls der Abfragende mit einem anderen Codec abfragt, als mit dem, in dem die Nachricht bereits gespeichert wurde.

Bei aktiviertem attach wird das erste Format dieser Liste für E-Mail-Anhänge verwendet.

Beispiele:

format = gsm|wav

Jede Sprachnachricht wird im GSM- und im WAV-Format abgespeichert.

format = wav

Jede Sprachnachricht wird nur im WAV-Format abgespeichert.

[Achtung]

Wird diese Einstellung im laufenden Betrieb verändert, müssen vorher vom System angelegte Sounddateien manuell gelöscht werden.

searchcontexts = [yes|no]

Standardmäßig werden Voicemailboxen nur im angegebenen Context gesucht. Mit diesem Schalter kann man das Suchverhalten auf alle Contexte erweitern. Default: no

Beispiel:

searchcontexts = no

maxmsg = [Anzahl Nachrichten]

Definiert die maximale Anzahl an Sprachnachrichten in einer Voicemailbox. Default: 100. Danach können keine neuen Nachrichten mehr aufgenommen werden, und der Anrufer hört die Nachricht /var/lib/asterisk/sounds/vm-mailboxfull.gsm[54].

Beispiel:

maxmsg = 50

maxmessage = [Länge in Sekunden]

Definiert die maximale Länge einer Sprachnachricht in Sekunden. Default: unendlich

Beispiel:

maxmessage = 120

minmessage = [Länge in Sekunden]

Definiert die minimale Länge einer Sprachnachricht in Sekunden. Default: 0

Beispiel:

minmessage = 5

maxgreet = [Länge in Sekunden]

Definiert die maximale Länge einer Begrüßungsnachricht in Sekunden. Default: unendlich

Beispiel:

maxgreet=240

maxsilence = [Länge in Sekunden]

Definiert die Anzahl der Sekunden an Stille, die das System wartet, bevor es davon ausgeht, dass die Nachricht zu Ende gesprochen wurde.

Beispiel:

maxsilence=10

silencethreshold = [Schwellenwert]

Definiert, was für Asterisk bei der Einstellung maxsilence Stille (also Silence) ist. Je niedriger dieser Wert ist, desto höher ist die Empfindlichkeit. Default: 128[55]

Beispiel:

silencethreshold = 50

maxlogins = [Anzahl]

Definiert die maximale Anzahl von fehlerhaften Einlogversuchen (falsches Passwort durch den User), bevor Asterisk auflegt. Default: 3

Beispiel:

maxlogins = 3

skipms = [Millisekunden]

Setzt die Anzahl an Millisekunden, um die während des Abhörens einer Sprachnachricht mit den Tasten für weiter und zurück in der Nachricht gesprungen wird. Default: 3000

Beispiel:

skipms = 6000

usedirectory = [yes|no]

Erlaubt es dem User von Voicemailboxen, die Einträge eines Dial-by-Name-Systems zur Weiterleitung von Nachrichten zu benutzen. Default: no

Beispiel:

usedirectory = yes

saycid = [yes|no]

Definiert, ob die Telefonnummer des Anrufers beim Abrufen der Nachrichten angesagt werden soll. Default: no

Beispiel:

saycid = yes

cidinternalcontexts = [context,context,...]
Legt die Contexte fest (durch Kommata getrennt), die beim Abrufen einer Voicemail-Nachricht als intern gelten, für die also z.B. nur die Durchwahl (Extension) als Caller-ID angesagt wird. Default: keine
pagerfromstring = [Absendername]

Analog zu fromstring für Nachrichten an Pager.

Beispiel:

pagerfromstring = Apfelmus GmbH

pagersubject = [Betreff]

Analog zu emailsubject für Nachrichten an Pager.

Beispiel:

pagersubject = Neue Voicemail

pagerbody = [Absendername]

Analog zu emailbody für Nachrichten an Pager.

Beispiel:

pagerbody = Neue Voicemail in Mailbox ${VM_MAILBOX} von ${VM_CALLERID}.

Neben den hier aufgeführten Parametern gibt es noch weitere, die genannten sind jedoch die wichtigsten für gängige Konfigurationen. Eine Auflistung aller verfügbaren Parameter findet sich in der Datei voicemail.conf. In der Grundinstallation sind dort alle Parameter mit einer kurzen Beschreibung enthalten.

[zonemessages]

Da es vorkommt, dass sich die User eines Voicemailsystems in unterschiedlichen Zeitzonen befinden, kann im Bereich [zonemessages] für jede Zeitzone ein unterschiedliches Format definiert werden, mit dem dem User die Uhrzeit angesagt wird.[56]

Syntax

zonenname = timezone | format
zonenname
Unter diesem Namen kann man später auf das entsprechende Format zugreifen. Verwenden Sie nur Kleinbuchstaben, Ziffern, Bindestrich (-) und Unterstrich (_).
timezone

In einem normalen Debian-Linux-System finden Sie im Verzeichnis /usr/share/zoneinfo/ eine Auflistung von verschiedenen Regionen. Jede Region wird mit einem Unterverzeichnis dargestellt. In diesem Unterverzeichnis stehen Städtenamen. Ein timezone-Eintrag besteht aus der Region und dem Städtenamen (getrennt durch ein /).

Beispiele:

Europe/Berlin

Australia/Sydney

format

Definiert das Format, in dem die Zeit angesagt wird. Es stehen folgende Variablen zur Verfügung:

A Wochentag (Montag bis Sonntag)
a siehe A
B Monat (Januar bis Dezember)
b siehe B
h siehe B
d Tag des Monats (1. bis 31.)
e siehe d
Y Jahr (z.B. 2006)
I Stunde im amerikanischen 12-Stunden-Format
l siehe I
H Stunde im europäischen 24-Stunden-Format. Dabei wird beim englischen Sprachmenü einstelligen Uhrzeiten eine 0 (englische Aussprache „oh“) vorangestellt.
k Stunde im europäischen 24-Stunden-Format
M Minute
P AM oder PM
p siehe P
Q heute“, „gestern“ oder ABdY (Wochentag, Monat, Tag, Jahr)
q “ (also nichts, wenn es heute ist), „gestern“ oder ABdY (Wochentag, Monat, Tag, Jahr)
R Stunde:Minute:Sekunde

Daneben gibt es noch die Sonderfälle ${VAR} (Inhalt dieser Variablen wird eingefügt) und 'sprachdatei'. Dabei ist zu beachten, dass 'sprachdatei' ohne „.gsm“ ist. Dieser Sprachbaustein aus dem Verzeichnis sounds/ wird dann abgespielt. Die einfachen Anführungszeichen sind zwingend.

Beispiel:

[zonemessages]
deutschland = Europe/Berlin | 'vm-received' Q 'digits/at' kM
england = Europe/London | 'vm-received' Q 'digits/at' R
military = Zulu | 'vm-received' q 'digits/at' H N 'hours' 'phonetic/z_p'

Freie Contexte

Genau wie in der extensions.conf gibt es auch in der voicemail.conf die Möglichkeit, einen Context zu definieren. Das ist praktisch, um zum Beispiel verschiedene Firmenabteilungen separat zu behandeln. Dadurch können auch unterschiedliche Adress- oder Telefonbücher definiert werden (siehe „Telefonbuch (Dial-by-Name)“).

Der Default-Context

Wenn kein anderer Context eingerichtet wurde, muss zumindestens der [default]-Context existieren. Für die meisten aller Installationen reicht dieser aus.

Mailbox-Definition

In einem Context können beliebig viele Mailboxen definiert werden.

Syntax

mailbox => passwort,name[,e-mail[,pager-e-mail[,optionen]]]

Beispiel:

202 => 1234,Peter Meier,peter@familie-meier.de,,attachfmt=wav|delete=yes
mailbox
Name der Mailbox (Ziffern)
passwort
Passwort für die Mailbox (Ziffern oder Buchstaben). Ziffern sind in der Regel praktischer, da sie auch auf normalen Telefonen vom User eingegeben werden können.
e-mail
E-Mail-Adresse, an die Sprachnachrichten gesendet werden sollen
pager-e-mail
E-Mail Adresse des Pagers, an die Benachrichtigungen (eine Textzeile) geschickt werden sollen[57]
optionen

Unterschiedliche Optionen, die durch ein Pipe-Zeichen (|) voneinander getrennt aneinandergereiht werden. Sie können hier die unter [general] (siehe [general]) global festgelegten Einstellungen pro Mailbox verändern. Bitte beachten Sie, dass zwischen Parametername, dem Gleich-Zeichen (=) und dem Wert keine Leerzeichen sein dürfen. Dasselbe gilt für das Pipe-Zeichen (|).

Die wichtigsten Optionen in diesem Zusammenhang sind:

tz=[Zeitzone]

Setzt die gewünschte Zeitzone aus dem vorher definierten [zonemessages] Context (siehe [zonemessages]).

Beispiel:

tz=deutschland

attach=[yes|no]
Legt fest, ob die Sounddatei der Sprachnachricht der E-Mail beigefügt werden soll.
attachfmt=[gsm|wav|wav49]
Legt ggf. ein anderes als das unter [general] mittels format eingestellte Format fest, das für E-Mail-Anhänge verwendet wird.
saycid=[yes|no]
Definiert, ob die Telefonnummer des Anrufers angesagt werden soll.
sayduration=[yes|no]
Definiert, ob die Länge der Nachricht angesagt werden soll. Default: yes
saydurationm=[ab Dauer in Minuten]
Legt die Mindestlänge einer Nachricht in Minuten fest, ab der die Länge angesagt wird. Default: 0
dialout=[context]

Definiert den Context, der zum Rauswählen benutzt werden soll. Ohne diese Angabe kann man aus dem Voicemailsystem heraus keine Telefonate führen.

Beispiel:

dialout=intern

sendvoicemail=[yes|no]
Bestimmt, ob Teilnehmer Sprachnachrichten an andere Teilnehmer des Voicemailsystems schicken können.
callback=[context]
Definiert den Context, der für Rückrufe benutzt wird. Ist er festgelegt, kann man den Anrufer, der eine Sprachnachricht hinterlassen hat, einfach aus dem Voicemailboxsystem zurückrufen.
review=[yes|no]
Legt fest, ob der Anrufer die von ihm hinterlassene Sprachnachricht vor dem Speichern erneut anhören kann. Default: no
operator=[yes|no]
Definiert, ob der Anrufer vor, während oder nach der Aufnahme seiner Sprachnachricht mit der Eingabe von 0 (also Null auf dem Telefon drücken) zum Operator durchgestellt wird. Operator ist immer die Extension o (kleiner Buchstabe o) im aktuellen Context. Default: no
envelope=[yes|no]
Legt fest, ob allgemeine Informationen vor der Sprachnachricht angesagt werden sollen. Wenn dieser Parameter auf no gesetzt ist, dann werden dadurch bestimmte andere Einstellungen (wie zum Beispiel tz) überstimmt. Default: yes
delete=[yes|no]
Definiert, ob Sprachnachrichten nach dem Versenden per E-Mail automatisch gelöscht werden sollen. Default: no
nextaftercmd=[yes|no]
Definiert, ob das System nach dem Löschen oder Abspeichern einer Sprachnachricht automatisch zur nächsten Nachricht springt. Default: no
forcename=[yes|no]
Bestimmt, ob das System den User beim ersten Abruf des Systems dazu zwingt, seinen Namen aufnehmen zu lassen. Default: no
forcegreetings=[yes|no]
Definiert, ob das System den User bei der ersten Nutzung des Voicemailsystems dazu zwingt, eine persönliche Ansage für seine Voicemailbox aufzunehmen. Default: no
hidefromdir=[yes|no]
Definiert, ob dieser Eintrag aus dem Dial-by-Name-Verzeichnis herausgenommen (versteckt) werden soll. Default: no


[52] Textteil einer E-Mail

[53] Es muss alles in eine Zeile geschrieben werden. Durch \n wird in der E-Mail ein Zeilenumbruch eingefügt.

[54] Pfad abhängig von der Installation, z.B. auch /usr/share/asterisk/sounds/

[55] Es lässt sich selbst im Source-Code von Asterisk keine Information finden, in welchem Rahmen sich dieser Wert sinnvoll bewegen kann (es handelt sich um einen Int). Ggf. ist also Ausprobieren erforderlich.

[56] Beachten Sie, dass Sie eine wie hier beschrieben definierte Zeitzone noch für die User aktivieren müssen. Siehe „Mailbox-Definition“

[57] Bitte beachten Sie, dass diese Nachrichten ebenfalls E-Mails sind. Sollten Sie SMS-Nachrichten verschicken wollen, suchen Sie im Internet nach „sms gateway“ oder „asterisk sms gateway“.