- Mitglied seit
- 16 Jun 2005
- Beiträge
- 67
- Punkte für Reaktionen
- 0
- Punkte
- 0
Hallo !
Als Dankeschön für all die guten Tips in diesem Forum nun nach und nach immer mehr Schnipsel meines Dialplans. Teilweise recycelt .. A@H hat ein paar recht nette Ansätze, aber insgesamt bin ich doch eher puristisch eingestellt und mag trotz meiner absoluten Begeisterung für Python das Mischen von verschiednen Scriptsprachen nicht sonderlich. Nun gut, die einzige Direktschnittstelle zum OS via Bash wird genutzt, aber eben kein AGI, wo Asterisk doch ebenfalls schon viel kann ...
Hier mein Weckruf recoded ... die Soundfiles sollten entsprechend aufgenommen werden .. sie gehören nicht zu den Standardvoiceprompts.
Und falls ich mirs doch anders überlege und NICHT um 5 Uhr aufstehen will bzw. die Party doch gut ist und ich auf keinen Fall um 23:55 Uhr "nach Hause muss" ...
Funktioniert wunderbar und ist wirklich praktisch !
Vorschläge zur Verbesserung oder gefundene Fehler sind herzlich willkommen !
Grüße
o_dapenguin
Als Dankeschön für all die guten Tips in diesem Forum nun nach und nach immer mehr Schnipsel meines Dialplans. Teilweise recycelt .. A@H hat ein paar recht nette Ansätze, aber insgesamt bin ich doch eher puristisch eingestellt und mag trotz meiner absoluten Begeisterung für Python das Mischen von verschiednen Scriptsprachen nicht sonderlich. Nun gut, die einzige Direktschnittstelle zum OS via Bash wird genutzt, aber eben kein AGI, wo Asterisk doch ebenfalls schon viel kann ...
Hier mein Weckruf recoded ... die Soundfiles sollten entsprechend aufgenommen werden .. sie gehören nicht zu den Standardvoiceprompts.
Code:
[app-weckruf]
; Seeehr gut, wenn man zu einer unangenehmen Besprechung muss
; und um xx:yy Uhr gerne weggerufen werden will ;-)
exten => *66,1,Answer
exten => *66,2,Wait(1)
exten => *66,3,Read(nummer,wr-nummereingeben)
; Soll intern (SIP) oder extern (bei mir ZAP) gewählt werden ?
; Alles interne hat 2 Stellen, alles externe >= 3
exten => *66,4,GotoIf($[${LEN(${nummer})} > 2]?s-intext|1:s-intext|3)
exten => s-intext,1,SetVar(channel="ZAP/g3/")
exten => s-intext,2,Goto(*66,5)
exten => s-intext,3,SetVar(channel="SIP/")
exten => s-intext,4,Goto(*66,5)
exten => *66,5,Wait(1)
exten => *66,6,SayUnixTime(,,R) ; damit ich auch weiss, wieviel Uhr wir haben ... leider sehr holprige Ansage ...
exten => *66,7,Read(uhrzeit,wr-bittezeiteingeben,4) ;4stellige Zahl als Uhrzeit
; Gibt die Zeit einen Sinn ?
exten => *66,8,SetVar(Stunden=${uhrzeit:-4:2})
exten => *66,9,SetVar(Minuten=${uhrzeit:-2})
exten => *66,10,GotoIf($[${Stunden} > 23 | ${Minuten} > 59]?s-timesyntax|1)
exten => s-timesyntax,1,Playback(wr-zeitinkorrekt)
exten => s-timesyntax,2,Goto(*66,7)
exten => *66,11,Wait(1)
exten => *66,12,Background(wr-weckrufaufnehmen)
; Ich lasse mir natuerlich von mir selbst was fluestern ...
exten => *66,13,Record(WakeUp:gsm,3)
exten => *66,14,Wait(1)
exten => *66,15,TrySystem(echo "" > /tmp/WakeUp${nummer}.call)
exten => *66,16,TrySystem(echo "Channel: ${channel}${nummer}" >> /tmp/WakeUp${nummer}.call)
exten => *66,17,TrySystem(echo "MaxRetries: 2" >> /tmp/WakeUp${nummer}.call)
exten => *66,18,TrySystem(echo "RetryTime: 30" >> /tmp/WakeUp${nummer}.call)
exten => *66,19,TrySystem(echo "WaitTime: 30" >> /tmp/WakeUp${nummer}.call)
exten => *66,20,TrySystem(echo "Context: app-weckruf" >> /tmp/WakeUp${nummer}.call)
exten => *66,21,TrySystem(echo "Extension: s" >> /tmp/WakeUp${nummer}.call)
exten => *66,22,TrySystem(echo "Priority: 1" >> /tmp/WakeUp${nummer}.call)
exten => *66,23,TrySystem(touch -d ${Stunden}:${Minuten} /tmp/WakeUp${nummer}.call) ; So .. wann solls nochmal losgehen ?
exten => *66,24,TrySystem(mv /tmp/WakeUp${nummer}.call /var/spool/asterisk/outgoing/WakeUp${nummer}.call) ; Ok, Kugel in den Lauf ...
exten => *66,25,Hangup
exten => s,1,Answer
exten => s,2,Wait(1)
exten => s,3,Background(WakeUp)
exten => s,4,Wait(2)
exten => s,5,Hangup
Und falls ich mirs doch anders überlege und NICHT um 5 Uhr aufstehen will bzw. die Party doch gut ist und ich auf keinen Fall um 23:55 Uhr "nach Hause muss" ...
Code:
; Bitte doch nicht anrufen
exten => *67,1,Answer
exten => *67,2,Wait(1)
exten => *67,3,Read(nummer,wr-nummereingeben)
exten => *67,4,TrySystem(rm /var/spool/asterisk/outgoing/WakeUp${nummer}.call)
exten => *67,5,Wait(1)
exten => *67,6,Hangup
Funktioniert wunderbar und ist wirklich praktisch !
Vorschläge zur Verbesserung oder gefundene Fehler sind herzlich willkommen !
Grüße
o_dapenguin