In der Datei voicemail.conf
wird das
Voicemail-System von Asterisk konfiguriert. Es besteht aus drei
Bereichen:
[general]
[zonemessages]
- Freie Contexte
Im Bereich [general]
werden allgemeine
Konfigurationen des Voicemail-Systems 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 unterformat
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 Voicemail-System machen.
Beispiel:
callback = intern
charset =
[Zeichensatz]
Gibt den Zeichensatz (Charset) vor, in dem die E-Mails vom Voicemail-System 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 Abschnitt 5, „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 mityes
unterdrückt werden.Beispiel:
pbxskip = yes
emailbody =
[Text der Email]
Definiert den E-Mail-Body[60] einer Benachrichtigungs-E-Mail (maximal 512 Zeichen).
Im Betreff und im Body einer solchen E-Mail kann auf folgende Variablen zugegriffen werden:
Beispiel:
emailbody = Hallo ${VM_NAME},\n\nSie haben eine neue Nachricht von ${VM_CALLERID} in Mailbox ${VM_MAILBOX}.
[61]serveremail =
[Absenderadresse]
Die E-Mail-Adresse, die als Absender der E-Mail vom Voicemail-System an den User übermittelt wird.
Beispiel:
serveremail = voicemail@apfelmus-gmbh.de
fromstring =
[Absendername]
Definiert den Absender (
From
-Header) in E-Mails vom Voicemail-System.Beispiel:
fromstring = AB
mailcmd =
[Shell-Befehl]
Definiert das Programm (mit absolutem Pfad und gegebenenfalls mit 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 besteht 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 aus/var/lib/asterisk/sounds/vm-mailboxfull.gsm
[62].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
[63]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
und 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 finden Sie in der Datei
voicemail.conf
. In der Grundinstallation sind dort
alle Parameter mit einer kurzen Beschreibung enthalten.
Da es vorkommt, dass sich die User eines Voicemail-Systems 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.[64]
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. Eintimezone
-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
${
(der Inhalt dieser Variablen wird eingefügt) undVAR
}'
. Dabei ist zu beachten, dass 'sprachdatei
'sprachdatei
' ohne „.gsm
“ ist. Dieser Sprachbaustein aus dem Verzeichnissounds/
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'
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
Abschnitt 5, „Telefonbuch
(Dial-by-Name)“).
In einem Context können beliebig viele Mailboxen definiert werden.
mailbox => passwort,name[,e-mail[,pager-e-mail[,optionen]]]
Beispiel:
202 => 1234,Peter Meier,peter@familie-meier.de,,attachfmt=wav|delete=yes
mailbox
- Der Name der Mailbox (in Ziffern)
passwort
- Das Passwort für die Mailbox (in Ziffern oder Buchstaben). Ziffern sind in der Regel praktischer, da sie auch auf normalen Telefonen vom User eingegeben werden können.
e-mail
- Die E-Mail-Adresse, an die Sprachnachrichten gesendet werden sollen
pager-e-mail
- Die E-Mail Adresse des Pagers, an die Benachrichtigungen (eine Textzeile) geschickt werden sollen[65]
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 dem Parameternamen, dem Gleichheitszeichen (=
) 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 gegebenenfalls ein anderes Format fest als
das unter
[general]
mittelsformat
eingestellte Format, 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 Hinauswählen benutzt werden soll. Ohne diese Angabe kann man aus dem Voicemail-System heraus keine Telefonate führen.
Beispiel:
dialout=intern
sendvoicemail=
[yes|no]
- Bestimmt, ob Teilnehmer Sprachnachrichten an andere Teilnehmer des Voicemail-Systems 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
(indem er also Null auf dem Telefon drückt) zum Operator durchgestellt wird. Der Operator hat immer die Extensiono
(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 Beispieltz
) überschrieben. 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 Voicemail-Systems 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
.
[60] Textteil einer E-Mail
[61] Es muss alles in eine Zeile geschrieben werden. Durch
\n
wird in der E-Mail ein Zeilenumbruch
eingefügt.
[62] Der Pfad ist von der Installation abhängig, siehe z.
B. auch
/usr/share/asterisk/sounds/.
[63] Es lässt sich selbst im Source-Code von Asterisk keine Information dazu finden, in welchem Rahmen sich dieser Wert sinnvoll bewegen kann (es handelt sich um einen Int). Gegebenenfalls müssen Sie das ausprobieren.
[64] Beachten Sie, dass Sie eine wie hier beschrieben definierte Zeitzone noch für die User aktivieren müssen (siehe „Mailbox-Definition“).
[65] 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“.
AMOOCON 2010
Noch kein Ticket? Dann wird es Zeit. Nur noch wenige Tage.
- Infos unter www.amoocon.de.
- twitter.com/AMOOCON