Mini-VoiceMail (MiniVM)
MiniVM (Mini-VoiceMail) ist ein alternatives Voicemail-System, das ab
Asterisk 1.6 zur Verfügung steht. Es lässt sich etwas modularer gestalten,
als dies mit den monolithischen Applikationen VoiceMail()
und VoiceMailMain() möglich ist. Die Bezeichnung
„Mini“ ist also gewissermaßen eine Untertreibung,
„Modular“ wäre passender.
Verzeichnisstruktur
Das Verzeichnis, in dem die Voicemail-Nachrichten eines MiniVM-Benutzers gespeichert werden, ist[1]:
/var/spool/asterisk/voicemail/_`domain`_/_`benutzer`_/
also z. B.:
/var/spool/asterisk/voicemail/_`localdomain`_/_`philipp`_/
oder:
/var/spool/asterisk/voicemail/_`amooma.de`_/_`philipp.kempgen`_/
Darin gibt es jeweils noch folgende Unterverzeichnisse, in denen sich eigene Ansagen des Benutzers in verschiedenen Formaten befinden:
greet/-
Ansage des eigenen Namens
busy/-
„Im Gespräch“-Ansage
unavailable/-
„Nicht erreichbar“-Ansage
temp/-
Temporäre Ansage
minivm.conf
MiniVM wird in der Datei
/etc/asterisk/minivm.conf konfiguriert, die analog
zur bekannten voicemail.conf (Abschnitt 13.4, „voicemail.conf
“) aufgebaut ist. Die
Mailbox-Definitionen haben allerdings immer das Format
_`benutzer`_@_`domain`_.
|
Achten Sie darauf, dass hier, anders als in den übrigen
Asterisk-Konfigurationsdateien, die Sprache nicht als 2-Buchstaben-Code
( |
Eine für Deutschland sinnvolle minivm.conf
könnte z. B. so aussehen:
[general]
format=alaw ; Speicherformat alaw
minmessage=2 ; minimale Länge 2 Sekunden
maxmessage=300 ; maximale Länge 300 Sekunden (5 Minuten)
maxsilence=10 ; nach 10 Sekunden Stille auflegen
maxgreet=120 ; maximale Ansage-Länge 120 Sekunden (2 Minuten)
[template-de_DE_email]
subject = Neue Nachricht
messagebody = Hallo ${MVM_NAME}\n\n${MVM_CALLERID} hat auf Ihrem Anrufbeantworter eine\nNachricht hinterlassen.\n\nMailbox : ${MVM_MAILBOX}\nDatum : ${MVM_DATE}\nLänge : ${MVM_DUR}\n
charset = iso-8859-1
dateformat = %A, %d %B %Y um %H:%M
locale = de_DE
attachmedia = yes
[template-de_DE_pager]
subject = Neue Nachricht
messagebody = Sie haben eine neue Nachricht von\n${MVM_CALLERID}.\n
charset = iso-8859-1
dateformat = %A, %d %B %Y um %H:%M
locale = de_DE
attachmedia = no
Statt messagebody kann man auch
templatefile und dann eine Datei angeben, absolut oder
relativ zum Verzeichnis /etc/asterisk/, also z.
B.:
templatefile = minivm-templates/de_de_email.txt
Nach dem Abschnitt [general] und einer oder
mehreren
[template-_`...`_]-Definitionen[5] folgen dann die Definitionen der Mailboxen. Beispiel:
[standardwerte@amooma.de](!)
etemplate = de_DE_email ; E-Mail-Template [template-de_DE_email]
;ptemplate = de_DE_pager ; ggf. Pager-Template [template-de_DE_pager]
timezone = de
setvar = x_firma=Amooma GmbH
[philipp@amooma.de](standardwerte@amooma.de)
fullname = Philipp Kempgen
;email = philipp.kempgen@amooma.de ; ggf. abweichende E-Mail-Adresse
;pager = philipp.kempgen@amooma.de ; ggf. E-Mail-Adr. für Pager-Nachrichten
[sw@wintermeyer-consulting.de](standardwerte@amooma.de)
fullname = Stefan Wintermeyer
Statt eines richtigen Domain-Namens wie amooma.de
könnte man auch einfach localdomain verwenden.
Mit
setvar=_`Feldname`_=_`Wert`_
kann man zusätzlich eigene Feld/Wert-Paare setzen, die sich im Dialplan
mit der Funktion MINIVMACCOUNT() abfragen lassen. Um dabei nicht mit
den fest vorgegebenen Feldnamen in Konflikt zu geraten, empfiehlt sich z.
B. ein Präfix wie „x_“.
Verbose(1,### Firma: ${MINIVMACCOUNT(philipp@amooma.de:x_firma)});
Statt in der minivm.conf können die
Mailbox-Definitionen alternativ per „Realtime“ aus einer
Datenbank-Tabelle gelesen werden.
CLI-Befehle für Mini-VoiceMail
Folgende Befehle für MiniVM gibt es auf dem Asterisk-CLI:
minivm list accounts-
Listet die definierten Mailbox-Accounts auf.
minivm list templates-
Listet die definierten Nachrichten-Templates auf.
minivm list zones-
Listet die definierten Zeitzonen auf.
minivm show settings-
Zeigt die allgemeinen Einstellungen aus
[general]an. minivm show stats-
Zeigt die Anzahl der eingerichteten Accounts, Templates, Zeitzonen etc. an.
MiniVM-Applikationen und -Funktionen
MiniVM bringt die folgenden Dialplan-Applikationen mit:
-
MinivmAccMess()— persönliche Ansage aufnehmen -
MinivmDelete()— Nachricht löschen -
MinivmGreet()— eine Ansage abspielen -
MinivmNotify()— E-Mail-/Pager-Benachrichtigung versenden -
MinivmRecord()— Sprachnachricht aufzeichnen
und diese Dialplan-Funktionen:
-
MINIVMACCOUNT()— Werte aus einer MiniVM-Account-Definition lesen -
MINIVMCOUNTER()— einen persistenten Zähler pro Account pflegen
Die vollständige Parameterbeschreibung jeder Applikation und Funktion
steht in der offiziellen Dokumentation unter https://docs.asterisk.org
(sowie im CLI über core show application <Name> bzw.
core show function <Name>).
(Unterstrich) statt mit - (Bindestrich)
[general] angeben.