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.
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
MiniVM wird in der Datei
/etc/asterisk/minivm.conf
konfiguriert, die analog
zur bekannten voicemail.conf
(Abschnitt 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
( Beispiele: |
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=
kann man zusätzlich eigene Feld/Wert-Paare setzen, die sich im Dialplan
mit der Funktion Feldname
=Wert
MINIVMACCOUNT()
(Abschnitt 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.
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.
Folgende Dialplan-Applikationen werden von MiniVM bereitgestellt:
MinivmAccMess() - Abschnitt 94, „MinivmAccMess() “ |
MinivmDelete() - Abschnitt 95, „MinivmDelete() “ |
MinivmGreet() - Abschnitt 96, „MinivmGreet() “ |
MinivmNotify() - Abschnitt 97, „MinivmNotify() “ |
MinivmRecord() - Abschnitt 98, „MinivmRecord() “ |
Dialplan-Funktionen:
MINIVMACCOUNT() - Abschnitt 64, „MINIVMACCOUNT() “ |
MINIVMCOUNTER() - Abschnitt 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.
AMOOCON 2010
Noch kein Ticket? Dann wird es Zeit. Nur noch wenige Tage.
- Infos unter www.amoocon.de.
- twitter.com/AMOOCON