Hinweis: Mittlerweile gibt es statt des Custom Macros ein Modul, welches über unseren Module Store bezogen werden kann
Da die Anfragen zum Thema Zeitsteuerung immer häufiger werden, werden wir hier ein Beispiel aufzeigen, wie man eine Zeitsteuerung mit Hilfe eines Custom Macros realisieren kann.
1. Das Custom Macro
Den aufgeführten Code bitte im Admin-Bereich > Erweiterten Einstellungen in das Textfeld "Macrodefinitionen" kopieren und abspeichern.
[macro-check_working_time]
;office closed
exten => s,1,GotoIfTime(00:00-07:59|*|*|*?closed,1)
exten => s,2,GotoIfTime(17:01-23:59|*|*|*?closed,1)
;check holiday
exten => s,3,GotoIfTime(*|*|1|jan?closed,1)
exten => s,4,GotoIfTime(*|*|6|jan?closed,1)
exten => s,5,GotoIfTime(*|*|21|mar?closed,1)
exten => s,6,GotoIfTime(*|*|1|may?closed,1)
exten => s,7,GotoIfTime(*|*|12|may?closed,1)
exten => s,8,GotoIfTime(*|*|22|may?closed,1)
exten => s,9,GotoIfTime(*|*|28|may?closed,1)
exten => s,10,GotoIfTime(*|*|3|oct?closed,1)
exten => s,11,GotoIfTime(*|*|1|nov?closed,1)
exten => s,12,GotoIfTime(17:00-23:59|*|24|dec?closed,1)
exten => s,13,GotoIfTime(*|*|25|dec?closed,1)
exten => s,14,GotoIfTime(*|*|26|dec?closed,1)
exten => s,15,GotoIfTime(17:00-23:59|*|31|dec?closed,1)
exten => s,16,Goto(open,1)
;office open
exten => open,1,NoOp(---[Info]----Office is open at ${TIMESTAMP}----)
;office closed
exten => closed,1,NoOp(---[Info]----Office is closed at ${TIMESTAMP}----)
exten => closed,2,Set(LANGUAGE()=de)
exten => closed,3,Voicemail(u1516) ; 1516 => Voicemailbox ID
exten => closed,4,Hangup()
Alles anzeigen
kurze Erläuterung zum Code:
1. Es wird geprüft, ob der Call ausserhalb der Geschäftszeiten ankommt (Hier im Beispiel vor 8:00 Uhr und nach 17:00 Uhr). Ist dies der Fall, wird der Call an die extension "closed" weitergeleitet. Ansonsten geht es weiter in den Abschnitt "check holiday"
2. Im Abschnitt "check holiday" wird geprüft, ob der Call an einem Feiertag ankommt. Ist es ein Feiertag, wird der Call auch an die extension "closed" weitergeleitet.
Hinweise
- Bitte ersetzten Sie in der Zeile "exten => closed,3,Voicemail(u1516)"
die Ziffer 1516 durch Ihre Voicemailbox ID. Diese finden Sie, wenn Sie im Admin-Bereich eine Voicemailbox editieren. Die ID entspricht Ihrer Mailbox-Nummer ohne "*9". - Da die Feiertage von Bundesland zu Bundesland variieren, passen Sie bitte diese entsprechend Ihrem Standort an.
- Die Syntax Befehls "GotoIfTime" lautet:
2. Die Zeitsteuerung aktivieren
Damit das definierte Macro "check_working_time" auch aufgerufen wird, müssen Sie im Admin-Bereich > Leitungen unter Ihrer Amtsleitung im Tab "Erweitert" die manuelle Konfiguration aktivieren und wie folgt editieren:
Default-Einstellung sieht folgendermaßen aus, wobei "TelekomISDN" Ihrem Leitungsnamen entspricht:
ZitatAlles anzeigen
[TelekomISDN-incoming]
exten => _X.,1,Set(channelname=TelekomISDN-incoming)
exten => _X.,2,Goto(incoming,${EXTEN},1)
exten => _+X.,1,Set(channelname=TelekomISDN-incoming)
exten => _+X.,2,Goto(incoming,${EXTEN:1},1)
Bitte erweitern Sie die manuelle Konfiguration wie folgt, um eine Umleitung für alle Ihre Rufnummern zu definieren:
[TelekomISDN-incoming]
exten => _X.,1,Set(channelname=TelekomISDN-incoming)
exten => _X.,2,Macro(check_working_time)
exten => _X.,3,Goto(incoming,${EXTEN},1)
exten => _+X.,1,Set(channelname=TelekomISDN-incoming)
exten => _+X.,2,Macro(check_working_time)
exten => _+X.,3,Goto(incoming,${EXTEN:1},1)
Hier ein Beispiel, in dem die Zeitsteuerung nur für eine MSN (z.B. 1510420) greift:
[TelekomISDN-incoming]
exten => _X.,1,Set(channelname=TelekomISDN-incoming)
exten => _X.,2,NoOp(----Exten: ${EXTEN} ----)
exten => _X.,3,GotoIf($[ '${EXTEN}' = '1510420' ]?5:10)
exten => _X.,5,Macro(check_working_time)
exten => _X.,6,Goto(10)
exten => _X.,10,Goto(incoming,${EXTEN},1)
exten => _+X.,1,Set(channelname=TelekomISDN-incoming)
exten => _+X.,2,NoOp(----Exten: ${EXTEN} ----)
exten => _+X.,3,GotoIf($[ '${EXTEN}' = '1510420' ]?5:10)
exten => _+X.,5,Macro(check_working_time)
exten => _+X.,6,Goto(10)
exten => _+X.,10,Goto(incoming,${EXTEN:1},1)
Alles anzeigen
Wie Sie sicherlich erkannt haben, sind die Möglichkeiten einer Zeitsteuerung sehr groß und wir hoffen, Ihnen damit einen Ansatz geliefert zu haben um Ihre Anrufszenarien abbilden zu können.
EDIT: Feiertage 2008 für Baden-Württemberg angepasst