13.7. 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.13.7.1. Verzeichnisstruktur
Das Verzeichnis, in dem die Voicemail-Nachrichten eines
MiniVM-Benutzers gespeichert werden, ist[67]:
/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
13.7.2. 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
.Wichtig
Achten Sie darauf, dass hier, anders als in den übrigen
Asterisk-Konfigurationsdateien, die Sprache nicht als 2-Buchstaben-Code
(
de
, en
, ...) angegeben wird,
sondern im Format
Sprache
_Land
[68]. Dabei ist Sprache
ein
2-buchstabiger Code nach ISO 639-1[69] und Land
ein 2-buchstabiger
Code nach ISO 3166-1 alpha-2[70].Beispiele:
de_DE
(Deutsch, Deutschland),
de_AT
(Deutsch, Österreich), de_CH
(Deutsch, Schweiz), fr_CH
(Französisch, Schweiz),
en_US
(Englisch, USA), en_UK
(Englisch, Vereinigtes Königreich), sv_SE
(Schwedisch, Schweden), no_NO
(Nynorsk, Norwegen),
nb_NO
(Bokmål, Norwegen).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[71] 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 Kempgem ;email = philipp.kempgen@amooma.de ; ggf. abweichende E-Mail-Adresse ;pager = philipp.kempgen@amooma.de ; ggf. E-Mail-Adr. für Pager-Nachrichten [stefan@amooma.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()
(Abschnitt D.64, „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.13.7.3. 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.
13.7.4. MiniVM-Applikationen und -Funktionen
Folgende Dialplan-Applikationen werden von MiniVM
bereitgestellt:
MinivmAccMess() - Abschnitt C.94, „MinivmAccMess() “ |
MinivmDelete() - Abschnitt C.95, „MinivmDelete() “ |
MinivmGreet() - Abschnitt C.96, „MinivmGreet() “ |
MinivmNotify() - Abschnitt C.97, „MinivmNotify() “ |
MinivmRecord() - Abschnitt C.98, „MinivmRecord() “ |
Dialplan-Funktionen:
MINIVMACCOUNT() - Abschnitt D.64, „MINIVMACCOUNT() “ |
MINIVMCOUNTER() - Abschnitt D.65, „MINIVMCOUNTER() “ |
[67] mit astspooldir = /var/spool/asterisk
in der
asterisk.conf
[68] nach RFC 3066, http://tools.ietf.org/html/rfc3066,
allerdings mit _
(Unterstrich) statt mit
-
(Bindestrich)
[69] http://de.wikipedia.org/wiki/ISO_639#ISO_639-1, http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
[70] http://de.wikipedia.org/wiki/ISO-3166-1-Kodierliste, http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
[71] Genau genommen muss man nicht unbedingt
[template-
-Definitionen
verwenden. Man kann die Default-Werte auch im Abschnitt
...
][general]
angeben.