Asterisk 13.8-cert4 + PJSIP + AEL & Telekom VoIP
Nachdem an meinem Anschluss nun endlich VDSL mit Vectoring angeboten wurde, habe ich den 50 MBit/s Downstream und 10 MBit/s Upstream nicht widerstehen können und meinen Vertrag auf Magenta-M umgestellt. Bisher hatte ich 1.2MBit/s Downstream und 0.5MBit/s Upstream. Jetzt bekomme ich die volle Bandbreite.
Besonderheiten bei der Umstellung
Ich bin an verschiedenen Hürden hängen geblieben:
- Entgegen der Zusage im T-Punkt bekam ich keinen Anruf unmittelbar vor der Umstellung.
Meinen Splitter und NTBA habe ich abgebaut, nachdem meine Fritz!Box die neue Datenrate anzeigte. - Die Telekom unterstützt meiner Erfahrung nach ausschließlich UDP (User Datagram Protocol) und damit keinerlei Verschlüsselung. Sehr schade!
- Die Telekom kann nach meiner Erfahrung ausschließlich die
alaw Kodierung. Mitulaw kommt sie nicht zurecht.
Das habe ich bemerkt, weil ich den Anrufer gehört habe, er mich aber nicht.
Da VoIP getrennte Wege für den Verbindungsaufbau und die Sprachpakete unterstützt, dachte ich erst, ich hätte ein Problem mit NAT (Network Address Translation).
Falls sich jemand fragt, warum ich trotzVoIP keineHD-Telefonie (G722 ) verwende, habe ich eine einfache Antwort:
Meine Türsprechstelle ist ein analoger Anschluss der dieDTMF SignaleINBAND benötigt und meine Fritz!Box unterstützt an den analogen Anschlüssen keinG722 . Wenn jemand hierfür eine Lösung hat, würde ich mich über eine eMail freuen. - Die Telekom verlangt bei jeder Registrierung und jedem ausgehenden Ruf eine Autentifizierung. Das ist grundsätzlich gut!
- Bei einem eingehenden Anruf schickt die Telekom unter Umständen mehrere
INVITE Telegramme und nur eines davon muß erfolgreich sein.
Bei der Analyse meiner Konfiguration vonpjsip.conf hat mich das sehr in die Irre geleitet. - Der VoIP Server der Telekom wechselt im laufe eines Tages, bei gleichem Namen, seine IP-Adresse. Das heißt bei jedem Zugriff ist
erst die aktuell Adresse über das DNS (Domain Name System) zu ermitteln.
Das habe ich gemerkt, als ich keine ausgehenden Anrufe machen konnte. Die Telekom meldete403 Forbidden .
Aus diesem Grunde musste ich bei Asterisk vonchan_sip aufchan_pjsip umsteigen. (https://community.asterisk.org/t/asterisk-dns-cache/66237) - Bei der Umstellung des Vertrages aktiviert die Telekom bei allen umgestellten Rufnummern die Sprachbox. Nach 25 Sekunden übernimmt diese
automatisch den eingehenden Anruf.
Nachdem mein Anrufbeantworter in Asterisk erst nach 30 Sekunden startete musste ich die Sprachboxübernahme nach 25 Sekunden bei allen Nummern abschalten. Das geht im Internet relativ elegant. (https://telefoniecenter.t-online.de/fcc)
- Damit auch meine Schwiegermutter klar kommt habe ich eine persönliche Ansage auf meine Sprachbox gesprochen und die Sprachbox für den Fall einer Unterbrechung zu meinem Asterisk aktiviert (Offline-Rufannahme). Wenn es also Probleme gibt, hört man wenigstens meine Stimme.
- Ich habe im Internet nur wenige Beispiele für eine
PJSIP Konfiguration gefunden und keines davon passte für die Telekom.
Das war der Grund für diese Seite. - Asterisk hat einen Übersetzungsfehler (21.01.2017). Im Zahlenbereich wurde
at mitbeim übersetzt. (https://www.asterisksounds.org/de/sounds/digitsat) Das ist grundsätzlich richtig. Bei der Ansage der Uhrzeit wäreum aber passender. Das habe ich bereits per Feedback Formular gemeldet. Mal sehen, ob und wann sich jemand meldet.
Die Umstellung im Detail
Ich habe also von meinem vorhandenen ISDN Anschluss auf VoIP umstellt. Ich dachte ich hätte damit auch kein Problem, da ich bereits 10 Rufnummern besaß und hausintern bereits mit IP Telefonen und Asterisk 11 arbeitete.
Aus meinen schlechten Erfahrungen mit der Leistungsfähigkeit der Fritz!Box 7390 wollte ich das Asterisk nicht mehr mit der Fritz!Box
verbinden, sondern direkt beim Telekom Server anmelden. Die Fritz!Box sieht hierfür auch einen Schalter in der Firewall-Einstellung vor.
Die Geräte an der Fritz!Box sollten sich per VoIP ebenfalls an das Asterisk anbinden. Die 10 Rufnummern sollten direkt vom Asterisk zum Telekomserver
gehen.
Dazu habe ich den Geräten an der Fritz!Box jeweils eine Rufnummer mit IP-Adresse zugeordnet. Mit diesem Trick verbindet sich die Fritz!Box statt mit einem
SIP-Provider im Internet mit der Asterisk Software im Heimnetz und jedes Gerät ist einzeln erreichbar.
Der nächste Schritt war die Installation von Asterisk. Da im Ubuntu 16.04.1 die Asterisk Version 13.1.0 bereit gestellt wird und ich diese
nicht zum Laufen brachte, habe ich mich für die zertifizierte Version 13.8-cert4 entschieden. Mit
Anleitung hierzu fand ich auf diesen Seiten:
https://wiki.asterisk.org/wiki/display/AST/Asterisk+Versions
http://linoxide.com/ubuntu-how-to/install-asterisk-13-ubuntu-16-04-source/
https://wiki.asterisk.org/wiki/display/AST/Building+and+Installing+pjproject#BuildingandInstallingpjproject-bundled
Ich habe diese Anleitung auch noch einmal auf einem meiner Raspberry Pi 2 ausprobiert.
Auf dem Raspbian Jessie waren die folgenden Module zusätzlich erforderlich:
sudo apt install libncurses-dev uuid-dev libjansson-dev libxml2-dev libsqlite3-dev automake libspeex-dev libspeexdsp-dev libgsm1-dev libsrtp-dev libssl-dev
Dann habe ich mir gedacht, dass ein Link zur Quelle für die SSH Bedienung des Raspberry Pi auch nicht schlecht wäre:
cd Downloads
wget http://downloads.asterisk.org/pub/telephony/certified-asterisk/asterisk-certified-13.8-cert4.tar.gz
wget https://www.asterisksounds.org/sites/asterisksounds.org/files/sounds/de/download/asterisk-sounds-core-de-2.11.19.zip
wget https://www.asterisksounds.org/sites/asterisksounds.org/files/sounds/de/download/asterisk-sounds-extra-de-2.11.19.zip
Ab hier geht es dann wieder normal weiter:
cd /usr/src
sudo tar zxvf asterisk-certified-13.8-cert4.tar.gz
cd asterisk-certified-13.8*
sudo ./contrib/scripts/install_prereq
sudo ./configure --with-pjproject-bundled
Da ich meinen Dialplan in AEL formulieren wollte, musste ich das Modul pbx_ael zusätzlich aktivieren.
sudo make menuselect
Nun musste noch normal übersetzt werden.
sudo make
sudo make install
sudo make samples
sudo make config
sudo make install-logrotate
sudo /etc/init.d/asterisk status
Natürlich wollte ich als
http://www.voip-info.org/wiki/view/Asterisk+non-root
sudo useradd asterisk
sudo chown --recursive asterisk:asterisk /var/lib/asterisk
sudo chown --recursive asterisk:asterisk /var/log/asterisk
sudo chown --recursive asterisk:asterisk /var/run/asterisk
sudo chown --recursive asterisk:asterisk /var/spool/asterisk
sudo chown --recursive asterisk:asterisk /usr/lib/asterisk
sudo chmod --recursive u=rwX,g=rX,o= /var/lib/asterisk
sudo chmod --recursive u=rwX,g=rX,o= /var/log/asterisk
sudo chmod --recursive u=rwX,g=rX,o= /var/run/asterisk
sudo chmod --recursive u=rwX,g=rX,o= /var/spool/asterisk
sudo chmod --recursive u=rwX,g=rX,o= /usr/lib/asterisk
sudo chown --recursive root:asterisk /etc/asterisk
sudo chmod --recursive u=rwX,g=rX,o= /etc/asterisk
sudo chmod g+w /etc/asterisk/voicemail.conf
sudo chmod g+w,+t /etc/asterisk
sudo nano /etc/logrotate.d/asterisk create 640 asterisk asterisk
Nun fehlen noch die deutschen Ansagen. Die Anleitung hierzu gibt es hier: https://www.asterisksounds.org/de/download
sudo mkdir /var/lib/asterisk/sounds/de
sudo unzip ~/Downloads/asterisk-sounds-core-de-2.11.19.zip -d /var/lib/asterisk/sounds/de/
sudo unzip ~/Downloads/asterisk-sounds-extra-de-2.11.19.zip -d /var/lib/asterisk/sounds/de/
Für meine Ansagen zur Müllabholung und für unerwünschte Anrufe habe ich spezielle Ansagen.
sudo cp Sound/*gsm /var/lib/asterisk/sounds/de/
Jetzt müssen alle Dateien noch den richtigen Benutzer und Gruppe sowie die passenden Rechte bekommen.
sudo chown -R asterisk:asterisk /var/lib/asterisk/sounds/de
sudo find /var/lib/asterisk/sounds/de -type d -exec chmod 0775 {} \;
sudo find /var/lib/asterisk/sounds/de -type f -exec chmod 0666 {} \;
Nun fehlt noch die persönliche Ansage für den Anrufbeantworter mit passendem Benutzer und Gruppe. Natürlich ist
sudo cp VoiceMail/<NUMBER>/unavail.gsm /var/spool/asterisk/voicemail/default/<NUMBER>/
sudo chown asterisk:asterisk /var/spool/asterisk/voicemail/default/<NUMBER>/unavail.gsm
Anschließend habe ich die zu ändernden Dateien vorab gesichert (mv) und zurück kopiert (cp). Mit diesem Trick behalten die Original-Dateien ihren Zeitstempel.
sudo mv /etc/asterisk/ari.conf /etc/asterisk/ari.conf.org
sudo mv /etc/asterisk/asterisk.conf /etc/asterisk/asterisk.conf.org
sudo mv /etc/asterisk/extensions.ael /etc/asterisk/extensions.ael.org
sudo mv /etc/asterisk/extensions.conf /etc/asterisk/extensions.conf.org
sudo mv /etc/asterisk/indications.conf /etc/asterisk/indications.conf.org
sudo mv /etc/asterisk/pjsip.conf /etc/asterisk/pjsip.conf.org
sudo mv /etc/asterisk/pjsip_wizard.conf /etc/asterisk/pjsip_wizard.conf.org
sudo mv /etc/asterisk/sip.conf /etc/asterisk/sip.conf.org
sudo mv /etc/asterisk/sip_notify.conf /etc/asterisk/sip_notify.conf.org
sudo mv /etc/asterisk/res_parking.conf /etc/asterisk/res_parking.conf.org
sudo mv /etc/asterisk/voicemail.conf /etc/asterisk/voicemail.conf.org
sudo cp /etc/asterisk/ari.conf.org /etc/asterisk/ari.conf
sudo cp /etc/asterisk/asterisk.conf.org /etc/asterisk/asterisk.conf
sudo cp /etc/asterisk/extensions.ael.org /etc/asterisk/extensions.ael
sudo cp /etc/asterisk/indications.conf.org /etc/asterisk/indications.conf
sudo cp /etc/asterisk/pjsip.conf.org /etc/asterisk/pjsip.conf
sudo cp /etc/asterisk/pjsip_wizard.conf.org /etc/asterisk/pjsip_wizard.conf
sudo cp /etc/asterisk/res_parking.conf.org /etc/asterisk/res_parking.conf
sudo cp /etc/asterisk/voicemail.conf.org /etc/asterisk/voicemail.conf
Der nächste Schritt war die
Konfiguration
ari.conf
Ich habe keine Verwendung für ARI und habe es zur Vermeidung einer Fehlermeldung deaktiviert.
sudo nano /etc/asterisk/ari.conf[general]
enabled = no
asterisk.conf
Die Verzeichnisse sind in einem Makro genannt und entsprechen der Grundeinstellung. Das habe ich unverändert gelassen.
sudo nano /etc/asterisk/asterisk.conf[directories](!)
astetcdir => /etc/asterisk
astmoddir => /usr/lib/asterisk/modules
astvarlibdir => /var/lib/asterisk
astdbdir => /var/lib/asterisk
astkeydir => /var/lib/asterisk
astdatadir => /var/lib/asterisk
astagidir => /var/lib/asterisk/agi-bin
astspooldir => /var/spool/asterisk
astrundir => /var/run/asterisk
astlogdir => /var/log/asterisk
astsbindir => /usr/sbin
In den Optionen habe ich den Sprach-Prefix eingeschaltet. Als Benutzer und Gruppe habe ich
[options]
languageprefix = yes
runuser = asterisk
rungroup = asterisk
defaultlanguage = de
extensions.ael
Hier wird es jetzt etwas komplizierter. Als erstes habe ich ein Makro, dass eine Nachricht abspielt und anschließend auflegt. Das brauche ich für meine Ansagen zur Müllabholung und für unerwünschte Anrufer.
sudo nano /etc/asterisk/extensions.aelmacro macro-playback(messagename) {
Answer();
Playback(${messagename});
Hangup();
Set(HangupDone=True);
return;
}
Das zweite Makro reduziert die eingehende Telefonnummer auf den Teil, der auch im Telefonbuch der lokalen Telefone gespeichert ist. Damit funktioniert die Anzeige des Namens des Anrufers. Die Telekom überträgt die Rufnummer des Anrufers im kanonischen Format (+XX...), was meine Telefone nicht zuordnen können.
macro macro-reduce-callerid-number(stateprefix,countryprefix) {
Set(NewNumber=${CALLERID(num)});
Set(NewNumber=${STRREPLACE(NewNumber,"+","00",1)});
Set(NewNumber=${STRREPLACE(NewNumber,${stateprefix},"0",1)});
Set(NewNumber=${STRREPLACE(NewNumber,${countryprefix},"",1)});
Set(CALLERID(num)=${NewNumber});
return;
}
Das dritte Makro filtert unerwünschte Anrufer heraus und sende denen nur eine Ansage. Statt der drei Punkte sind weitere Rufnummern einzutragen.
macro macro-ignore-advertising(callernumber) {
switch (${callernumber}) {
case 01234567890:
...
{
¯o-playback("unerwuenscht");
break;
};
default: ;
};
return;
}
Das vierte Makro arbeitet die eingehenden Anrufe ab. Nach 30 Sekunden Klingeln geht die Voicebox ran. Die Sprachbox würde nach 25 Sekunden ran gehen und muss daher abgeschaltet werden. (siehe oben)
macro macro-handle-call(device,voicebox) {
¯o-reduce-callerid-number("0049","01234");
¯o-ignore-advertising(${CALLERID(num)});
if ("${HangupDone}" != "True") {
Dial(Local/${device}@from-internal,30);
VoiceMail(${voicebox},su);
};
return;
}
Das fünfte Makro behandelt die ausgehende Anrufe. Hier kann jedem abgehenden Anruf ein ENDPOINT zugewiesen werden um die richtige CallerID
an den Angerufenen zu senden.
Ergänzung: Mit der Verwendung von
macro macro-do-call(device,target) {
switch (${device}) {
case 20: {
Dial(PJSIP/${target}@<ENDPOINT>);
break;
};
default: {
Log(NOTICE, Unknown Device "${device}");
};
};
return;
}
Im Kontext ansagen können die Textansagen abgerufen werden
context ansagen {
// Feste Ansagen
1 => ¯o-playback("text_Restmuell");
2 => ¯o-playback("text_Biotonne");
3 => ¯o-playback("text_Gelbersack");
4 => ¯o-playback("text_Papier");
5 => ¯o-playback("text_Restmuell_Biotonne");
6 => ¯o-playback("text_Restmuell_Gelbersack");
7 => ¯o-playback("text_Restmuell_Papier");
8 => ¯o-playback("text_Biotonne_Gelbersack");
9 => ¯o-playback("text_Biotonne_Papier");
10 => ¯o-playback("text_Gelbersack_Papier");
11 => ¯o-playback("text_Restmuell_Biotonne_Gelbersack");
12 => ¯o-playback("text_Restmuell_Biotonne_Papier");
13 => ¯o-playback("text_Restmuell_Gelbersack_Papier");
14 => ¯o-playback("text_Biotonne_Gelbersack_Papier");
15 => ¯o-playback("text_Restmuell_Biotonne_Gelbersack_Papier");
};
Im Kontext from-internal werden die internen Rufnummern definiert. Die jeweiligen Platzhalter AA, BB, CCC, DD, EE und FF sind durch die gewünschte Rufnummer zu ersetzen. Dabei sind DD, EE und FF reale Telefone, BB der Anrufbeantworter zu DD und CCC bietet die Möglichkeit den Anrufbeantworter von DD direkt zu besprechen. In meinem Fall haben die realen Telefone zweistellige Nummern ab 20 um sie direkt anrufen zu können. Die Rufnummern 01234567890 und 01234567891 sind Platzhalter für Nummern der Telekom bestehend aus Vorwahl inklusive führender Null und Telefonnummer. Dieses Beispiel enthält also gleich mehrere Tricks:
- Mit der Angabe mehrer Rufnummern im
Dial Kommando ist ein Sammelruf leicht zu machen. Sobald der erste abhebt hören die anderen Apparate auf zu klingeln.
Asterisk wartet aber auf das Ende desDial Kommandos, bevor der nächste Befehl abgearbeitet wird. Für einen Sammelruf muss also erst einmal der gesamte Dialstring zusammengesetzt werden, bevor dasDial Kommando gestartet wird. - Mit dem
SHELL Kommando frage ich den Wert einer Gruppe in FHEM ab. Abhängig vom Wert lasse ich das Telefon FF mit klingeln oder nicht. - Jeder Anrufbeantworter braucht einen
hint der aufsteigend nummeriert werden muss. Warum auch immer. - Das
_NX Pattern leitet jede zweistellige Rufnummer ab 20 aufwärts direkt zum jeweiligen Telefon, ohne Anrufbeantworter. - Mit dreistelligen Rufnummern kann ich Ansagen direkt in die angegebene VoiceMail speichern. Das verwende ich für meinen Müllkalender im FHEM, der täglich um 20:00 geprüft wird.
- Jede Rufnummer mit vier und mehr Ziffern wird über den angegebenen
ENDPOINT nach außen gewählt.
<ENDPOINT> ist durch den Namen des Endpunktes inpjsip.conf zu ersetzen.
Mit dieser Konfiguration würde jedes Telefon mit der selben Rufnummer nach draußen telefonieren. Durch mein Makromacro-do-call unterscheide ich die ausgehende Rufnummer je nach der Rufnummer des internen Teilnehmers, der den Anruf tätigt. (Hauptnummer / Büro / Fax / ...)
Ergänzung: Bei externen Nummern muss natürlich auch das
context from-internal {
AA => { // Sammelruf
Set(DialString=PJSIP/DD&PJSIP/EE);
if ("${SHELL(echo 'list <GROUPNAME>'|netcat -w1 localhost 7072|grep ' STATE'|awk '{print $2}'):0:-1}" = "off") Set(DialString=${DialString}&PJSIP/FF);
DIAL(${DialString});
};
hint(1) BB => VoiceMailMain(${EXTEN},s); // Anrufbeantworter
_NX => Dial(PJSIP/${EXTEN});
CCC => VoiceMail(BB,s); // Direktansage
_XXX. => ¯o-do-call(${CALLERID(num)},${EXTEN});
};
Im Kontext from-external werden eingehende Anrufe verarbeitet. Mein Beispiel für einen papierlosen Faxempfang
zeigt noch eine Besonderheit. Nach dem Empfang eines Faxes setze ich über FHEM (setvoicemailed) eine Gruppe
um das Fax anzuzeigen.
context from-external {
01234567890 => ¯o-handle-call(DD,BB);
01234567891 => { // Fax
Set(LOCALSTATIONID=<NAME>);
ReceiveFAX(/var/spool/asterisk/fax/${CDR(start)-${CDR(src)}}.tif);
SYSTEM(/usr/bin/setvoicemailed);
Hangup();
};
};
extensions.conf
Diese Datei habe ich gelöscht, da ich AEL verwende.
indications.conf
Hier habe ich auf die deutschen Tonsignale umgestellt
sudo nano /etc/asterisk/indications.conf[general]
country=de
pjsip.conf
Fangen wir mal mit den Grundlagen an. Die Telekom benötigt als Transport UDP und für alle ausgehenden Rufe gibt es einen T-Online Server.
sudo nano /etc/asterisk/pjsip.conf[transport-udp]
type=transport
protocol=udp
bind=0.0.0.0
[T-Online]
type=aor
contact=sip:tel.t-online.de
Dann habe ich mir ein paar Makros geschrieben um die gemeinsamen Einstellungen für alle Rufnummern nur an einer Stelle eintragen
zu müssen. Für jede Rufnummer, deren Anruf Asterisk entgegen nehmen soll, sind drei Einträge erforderlich.
Das erste Makro gilt für die Registrierung, bei der Asterisk sich beim Telekom Server für
eingehende Anrufe anmeldet:
Ergänzung: Seit der Umstellung vor ca. zwei Monaten ist nie wieder ein Fehler aufgetreten. Die 480s scheinen die Lösung zu sein.
[registration-basics](!)
type=registration
transport=transport-udp
server_uri=sip:tel.t-online.de
retry_interval=60
forbidden_retry_interval=600
expiration=480
line=yes
Das zweite Makro gilt für die Autentifizierung bei der Telekom:
[registration-auth-basics](!)
type=auth
auth_type=userpass
password=123456789
realm=tel.t-online.de
Das dritte Makro gilt für die Rufnummer, an die der eingehende Anruf weiter gegeben werden soll:
[registration-endpoint-basics](!)
type=endpoint
transport=transport-udp
context=from-external
disallow=all
allow=alaw
direct_media=no
from_domain=tel.t-online.de
force_rport=false
aors=T-Online
Für jede Rufnummer, für die sich Asterisk registrieren soll, sind die folgenden Einträge erforderlich.
[<NAME>](registration-basics)
outbound_auth=<NAME>
client_uri=sip:01234567890@tel.t-online.de
contact_user=01234567890
endpoint=<NAME>
[<NAME>](registration-auth-basics)
username=01234567890
[<NAME>](registration-endpoint-basics)
outbound_auth=<NAME>
from_user=01234567890
Nun geht es mit den internen Telefonen weiter. Das erste Makro gilt für die Anmeldung am Asterisk.
Damit die
[endpoint-basics](!)
type=endpoint
transport=transport-udp
context=from-internal
dtmf_mode=inband
disallow=all
allow=alaw
Das zweite Makro gilt für die Autentifizierung am Asterisk. Da alle Telefone bei mir mit dem selben Passwort angemeldet sind, habe ich es in das Makro geschrieben.
[auth-basics](!)
type=auth
auth_type=userpass
password=12345678
Das dritte Makro gilt für die Rufnummer, die zu kontaktieren ist.
[aor-basics](!)
type=aor
max_contacts=1
Für jedes interne Telefon, das mit Asterisk genutzt werden soll, sind die folgenden Einträge erforderlich.
[<NUMBER>](endpoint-basics)
auth=<NUMBER>
aors=<NUMBER>
mailboxes=<VOICEMAIL>@default
mwi_from_user=<NUMBER>
[<NUMBER>](auth-basics)
username=<NUMBER>
[<NUMBER>](aor-basics)
Sollen an einem Telefon mehrere Anrufbeantworter angezeigt werden, so sind die VoiceMail Nummern mit Komma in
Für das Fritz!Fon MT-F hat das bei mir nicht funktioniert.
aggregate_mwi=yes
pjsip_wizard.conf
Diesen Inhalt dieser Datei habe ich gelöscht, da ich den Wizard nicht verwende, es aber ohne die Datei eine Fehlermeldung gibt.
sip.conf
Diese Datei habe ich gelöscht, da ich PJSIP verwende.
sip_notify.conf
Diese Datei habe ich gelöscht, da ich PJSIP verwende.
res_parking.conf
Den Inhalt dieser Datei habe ich auf diese Zeile reduziert um keine Störungen durch den
Meine Telefone unterstützen eigenständig das Vermitteln von Gespächen an andere Apparate.
sudo nano /etc/asterisk/res_parking.conf[default]
voicemail.conf
Allgemein habe ich die Aufzeichnung im
sudo nano /etc/asterisk/voicemail.conf[general]
format=alaw
; serveremail=asterisk
; attach=yes
moveheard=no
userscontext=from-internal
externnotify=/usr/bin/setvoicemailed
emaildateformat=%A, %d %B %Y at %H:%M:%S
pagerdateformat=%T %D
european=Europe/Berlin|'vm-received' a d b 'digits/de' HM
; 1234 => 4242,Example Mailbox,root@localhost
; 1234 => 5678,Company2 User,root@localhost
Die eigentliche VoiceMail habe im Kontext
[default]
<NUMBER> => <PASSWORD>,<NAME>
Jetzt fehlt zwar noch die Ansteuerung der MWI-Anzeige auf dem Fritz!Fon MT-F, aber das kann warten.
Und das war's. Mit dieser Konfiguration läuft mein Asterisk störungsfrei.
Für Fragen und Anregungen stehe ich gerne per eMail zur Verfügung.