Ich habe mal ein wenig rumprobiert um mit dem Callmanager aus dem ds-mod ein Callback abhänging von der Zeit durchzuführen. Ich habe Callback mit einer ABox realisiert, das ganze sollte aber auch mit anderen Lösungen (Loopbackkabel) nutzbar sein. Meine grundsätzlichen Überlegungen hatte ich hier begonnen: http://www.ip-phone-forum.de/showpost.php?p=768496&postcount=380 Meine erste Code - Idee hat sich dann folgendermaßen dargestellt. Ich muss dazu sagen, dass ich noch nie irgendwelche Bash-Scripte geschrieben habe, wahrscheinlich gibt es "elegantere" Lösungen. Code: #!/bin/bash # Skript: callback.sh # Zweck: Steuerung der Callback-Eigenschaften abhängig vom Wochentag und der Zeit # Lizenz: GPL # Globale Variablen SCRIPTNAME=$(basename $0 .sh) EXIT_SUCCESS=0 EXIT_FAILURE=1 EXIT_ERROR=2 # Variablen definieren PHONE_HOME="024XXXXXX" PHONE_OFFICE="024XXXXXX" INTERN_PHONE="1" # Interne Nebenstelle #Holt sich den Wochentag und die Stunde aus dem date Befehl WEEKDAY=$(date +%a) HOUR=$(date +%k) # Funktionen # Funktion usage() # Wie wird die Funktion benutzt usage () { echo "Usage: $SCRIPTNAME [ -h | --help ] [ dialstring ]" } # Funktion destination() # Rueckgabe 1 wenn Anruf innerhalb der Buerozeiten # 0 wenn Anruf ausserhalb der Buerozeiten destination () { case $WEEKDAY in Mon|Tue|Wed|Thu) # Buerozeiten Montag - Donnerstag if [ $HOUR -ge 7 ] && [ $HOUR -le 16 ] ; then return 1 else return 0 fi ;; Fri) # Buerozeit Freitag if [ $HOUR -ge 7 ] && [ $HOUR -le 12 ] ; then return 1 else return 0 fi ;; Sat|Sun) # Samstags und Sonntags wird nicht gearbeitet ;-) return 0 ;; esac } # # Hier beginnt das eigentliche Script # # Ist die Hilfe angefordert? if [ "$1" == "-h" ] || [ "$1" == "--help" ]; then usage && exit $EXIT_FAILURE fi # Waehlstring wurde uebergeben, also waehlen wir den.... if [ "$1" ]; then echo "dial $1 $INTERN_PHONE" callaction dial $1 $INTERN_PHONE exit $EXIT_SUCCESS fi # Kein Waehlstring, also hinterlegte Nummern nutzen. destination # Rueckgabewert der Funktion destination() wird ausgewertet case $? in 0) callaction dial $PHONE_HOME $INTERN_PHONE exit $EXIT_SUCCESS ;; 1) callaction dial $PHONE_OFFICE $INTERN_PHONE exit $EXIT_SUCCESS ;; esac # Wenn das Script bis hier her kommt ist was schief gelaufen exit $EXIT_FAILURE Vielleicht hat ja jemand von euch Lust und Zeit hier noch ein wenig dran rum zu feilen oder eigene Ideen einzubringen. ToDo Liste: - Wählstring muss numerisch oder eine SIP Adresse sein (Überprüfung einbauen) - SIP Adressen können angewählt werden (Geht das mit dem Callmonitor überhaupt) - Bei Arbeitszeiten die nicht auf die volle Stunde enden sollten auch die Minuten ausgewertet werden. - Addon evtl. mit Konfiguration via Web Interface