Asterisk: Automatisierter Weckruf
Mit Asterisk lässt sich ein automatischer Weckruf bauen: Per Anruf mit *77* und Zeitstempel wird ein Termin gesetzt. Asterisk erstellt eine Call-Datei, die zum Weckzeitpunkt die Nummer anruft und eine Ansage abspielt – ideal für Hotels ohne eigenes Weckpersonal.

Viele Hotels kennen das Problem: Der Empfang soll Gäste zu einer bestimmten Zeit wecken, doch das Personal reicht nicht aus, um das zuverlässig zu erledigen. Hier springt Asterisk ein. Mit seiner flexiblen Konfiguration lässt sich eine Weckruf-Funktion bauen, die genau das übernimmt.
Der Kern der Lösung liegt in der extensions.conf
. Dort wird eine neue Nummer definiert, die der Nutzer anruft, um einen Weckruf zu setzen. Die Nummer ist dabei kein Zufall: 77 gefolgt von einem Zeitstempel im Format JahrMonatTagStundeMinute
. Zum Beispiel:
*77*202412011104
steht für den Weckruf am 1. Dezember 2024 um 11:04 Uhr.
In der extensions.conf
sieht das so aus:
exten => _*77*XXXXXXXXXXXX,1,Answer()
exten => _*77*XXXXXXXXXXXX,n,Set(Jahr=${EXTEN:4:4})
exten => _*77*XXXXXXXXXXXX,n,Set(Monat=${EXTEN:8:2})
exten => _*77*XXXXXXXXXXXX,n,Set(Tag=${EXTEN:10:2})
exten => _*77*XXXXXXXXXXXX,n,Set(Stunden=${EXTEN:12:2})
exten => _*77*XXXXXXXXXXXX,n,Set(Minuten=${EXTEN:14:2})
exten => _*77*XXXXXXXXXXXX,n,NoOp(Weckruf für ${CALLERID(num)} geplant am ${Tag}.${Monat}.${Jahr} um ${Stunden}:${Minuten})
exten => _*77*XXXXXXXXXXXX,n,System(echo "Channel: SIP/${CALLERID(num)}\\nContext: Weckruf\\nExtension: 23\\nRetryTime: 10" > /tmp/${UNIQUEID}.call)
exten => _*77*XXXXXXXXXXXX,n,System(touch -t ${Jahr}${Monat}${Tag}${Stunden}${Minuten} /tmp/${UNIQUEID}.call)
exten => _*77*XXXXXXXXXXXX,n,System(mv /tmp/${UNIQUEID}.call /var/spool/asterisk/outgoing/)
exten => _*77*XXXXXXXXXXXX,n,SayNumber(${Stunden})
exten => _*77*XXXXXXXXXXXX,n,SayNumber(${Minuten})
exten => _*77*XXXXXXXXXXXX,n,Playback(digits/oclock)
exten => _*77*XXXXXXXXXXXX,n,Hangup()
Hier passiert Folgendes:
Zuerst werden aus der gewählten Nummer die einzelnen Zeitangaben extrahiert. Dann wird eine Call-Datei erstellt. Diese enthält die Anweisungen, wann und wen Asterisk anrufen soll. Die Datei wird mit dem richtigen Zeitstempel versehen und ins outgoing
-Verzeichnis gelegt. Sobald der Zeitpunkt erreicht ist, wählt Asterisk automatisch die gespeicherte Nummer im Kontext Weckruf
an der Extension 23.
Dort läuft dann:
[Weckruf]
exten => 23,1,Answer()
exten => 23,n,Wait(1)
exten => 23,n,Playback(ANSAGE)
exten => 23,n,Wait(1)
exten => 23,n,Hangup()
Die gespeicherte Ansage wird abgespielt, der Anruf beendet.
Damit lässt sich die Weckruf-Funktion vollständig automatisieren. Für Hotels oder andere Dienste bedeutet das eine große Entlastung. Niemand muss mehr zur Uhr greifen oder die Gäste einzeln anrufen. Das System erledigt das zuverlässig zum gewünschten Zeitpunkt.
Wer sich mit Asterisk beschäftigt, sollte solche Automatisierungen nutzen. Sie zeigen, wie flexibel und mächtig die Plattform ist – weit über reine Telefonie hinaus. So lassen sich Alltagsaufgaben vereinfachen, ohne großen technischen Aufwand.
Das könnte dich interessieren!