Hilfe gesucht für openclose.agi

Guard-X

Aktives Mitglied
Mitglied seit
14 Mai 2005
Beiträge
2,497
Punkte für Reaktionen
0
Punkte
36
Hi,

ich wollte folgendes Script von voip-info.org nutzen um verschiedene Ansagen für die Öffnungszeiten zu steuern:

Code:
 #!/bin/sh 
# 
# Done by Alex Lopez (alex.lopez (at) O p s y s (dot) com) 
# You may need to change the if/than logic depending on OS and Shell implementation. 
# 
TODAY=`date +%m%d%y` 
TODAYSHORT=`date +%m%d` 
# 
DAY=`date +%a` 
HOUR=`date +%H` 
MINUTE=`date +%M` 
TIMENOW=$HOUR$MINUTE 
# 
STATUS=closed 
# 
case "$TODAYSHORT" in 
  0101 ) STATUS=holiday;; # New Years Day 
  0704 ) STATUS=holiday;; # July Forth 
  1224 ) STATUS=halfday;; # Christmas Eve 
  1225 ) STATUS=holiday;; # Christmas Day 
  1226 ) STATUS=holiday;; # Year End holiday 
  1227 ) STATUS=holiday;; # Year End holiday 
  1228 ) STATUS=holiday;; # Year End holiday 
  1229 ) STATUS=holiday;; # Year End holiday 
  1230 ) STATUS=holiday;; # Year End holiday 
  1231 ) STATUS=holiday;; # Year End holiday 
esac 
case "$TODAY" in 
  090505 ) STATUS=holiday;; # Labor Day 
  112405 ) STATUS=holiday;; # Thanksgiving 
  112505 ) STATUS=holiday;; # Day after ThanksGiving 
  052906 ) STATUS=holiday;; # Memorial Day 
  090406 ) STATUS=holiday;; # Labor Day 
  112306 ) STATUS=holiday;; # Thanksgiving 
  112406 ) STATUS=holiday;; # Day after ThanksGiving 
  052807 ) STATUS=holiday;; # Memorial Day 
  090307 ) STATUS=holiday;; # Labor Day 
  112207 ) STATUS=holiday;; # Thanksgiving 
  112307 ) STATUS=holiday;; # Day after ThanksGiving 
  052608 ) STATUS=holiday;; # Memorial Day 
  090108 ) STATUS=holiday;; # Labor Day 
  112708 ) STATUS=holiday;; # Thanksgiving 
  112808 ) STATUS=holiday;; # Day after ThanksGiving 
esac 
# 
if  test "$STATUS" != "holiday" -a \ 
    "$DAY" != "Sat" -a \ 
    "$DAY" != "Sun" -a \ 
    "$TIMENOW" -gt "0800" -a \ 
    "$TIMENOW" -lt "1900" 
then 
  STATUS=open 
fi 
# 
if  test "$STATUS" = "halfday" -a \ 
    "$TIMENOW" -gt "0800" -a \ 
    "$TIMENOW" -lt "1200" 
then 
  STATUS=open 
fi 
# 
if  test "$DAY" = "Sat" -a \ 
    "$TIMENOW" -gt "0900" -a \ 
    "$TIMENOW" -lt "1600" 
then 
  STATUS=open 
fi 
# 
if  test "$DAY" = "Sun" -a \ 
    "$TIMENOW" -gt "0900" -a \ 
    "$TIMENOW" -lt "1300" 
then 
  STATUS=open 
fi 
# 
# Until I can get the Holiday logic done in extensions.conf 
# We Be CLOSED!!! 
# 
if  test "$STATUS" = "holiday" 
then 
  STATUS=closed 
fi 
# 
echo "SET VARIABLE status $STATUS \"\""

Allerdings bekomme ich folgende Fehlermeldung in der Asterisk CLI:

Code:
*CLI> /var/lib/asterisk/agi-bin/vm-openclose.agi: line 47: Thu: command not found
/var/lib/asterisk/agi-bin/vm-openclose.agi: line 48: Thu: command not found
/var/lib/asterisk/agi-bin/vm-openclose.agi: line 49: 1404: command not found
/var/lib/asterisk/agi-bin/vm-openclose.agi: line 50: 1404: command not found
/var/lib/asterisk/agi-bin/vm-openclose.agi: line 56: 1404: command not found
/var/lib/asterisk/agi-bin/vm-openclose.agi: line 57: 1404: command not found
/var/lib/asterisk/agi-bin/vm-openclose.agi: line 63: 1404: command not found
/var/lib/asterisk/agi-bin/vm-openclose.agi: line 64: 1404: command not found
/var/lib/asterisk/agi-bin/vm-openclose.agi: line 70: 1404: command not found
/var/lib/asterisk/agi-bin/vm-openclose.agi: line 71: 1404: command not found

Habe bisher noch keine Erfahrungen mit agis gemacht, Betriebssystem ist SUSE 10. Kann mir da jemand weiterhelfen?

Danke im voraus...

mfg Guard-X
 
hallo,

das ist ein recht simpler fehler, der fast jedem copy&past passieren kann;
Entferne nach in allen Zeilen die mit if und bis zur zeile then das letzte Leerzeichen
 

Anhänge

  • openclose.txt
    2.2 KB · Aufrufe: 4
Das wars nicht ganz, es gab ein kleines Problem mit den Zeilen.

So funktioniert es einwandfrei:

Code:
#!/bin/sh 
# 
# Done by Alex Lopez (alex.lopez (at) O p s y s (dot) com) 
# You may need to change the if/than logic depending on OS and Shell implementation. 
# 
TODAY=`date +%m%d%y` 
TODAYSHORT=`date +%m%d` 
# 
DAY=`date +%a` 
HOUR=`date +%H` 
MINUTE=`date +%M` 
TIMENOW=$HOUR$MINUTE 
# 
STATUS=closed 
# 
case "$TODAYSHORT" in 
  0101 ) STATUS=holiday;; # New Years Day 
  0704 ) STATUS=holiday;; # July Forth 
  1224 ) STATUS=halfday;; # Christmas Eve 
  1225 ) STATUS=holiday;; # Christmas Day 
  1226 ) STATUS=holiday;; # Year End holiday 
  1227 ) STATUS=holiday;; # Year End holiday 
  1228 ) STATUS=holiday;; # Year End holiday 
  1229 ) STATUS=holiday;; # Year End holiday 
  1230 ) STATUS=holiday;; # Year End holiday 
  1231 ) STATUS=holiday;; # Year End holiday 
esac 
case "$TODAY" in 
  090505 ) STATUS=holiday;; # Labor Day 
  112405 ) STATUS=holiday;; # Thanksgiving 
  112505 ) STATUS=holiday;; # Day after ThanksGiving 
  052906 ) STATUS=holiday;; # Memorial Day 
  090406 ) STATUS=holiday;; # Labor Day 
  112306 ) STATUS=holiday;; # Thanksgiving 
  112406 ) STATUS=holiday;; # Day after ThanksGiving 
  052807 ) STATUS=holiday;; # Memorial Day 
  090307 ) STATUS=holiday;; # Labor Day 
  112207 ) STATUS=holiday;; # Thanksgiving 
  112307 ) STATUS=holiday;; # Day after ThanksGiving 
  052608 ) STATUS=holiday;; # Memorial Day 
  090108 ) STATUS=holiday;; # Labor Day 
  112708 ) STATUS=holiday;; # Thanksgiving 
  112808 ) STATUS=holiday;; # Day after ThanksGiving 
esac 
# 
if  test "$STATUS" != "holiday" -a "$DAY" != "Sat" -a "$DAY" != "Sun" -a "$TIMENOW" -gt "0800" -a "$TIMENOW" -lt "1900" 
then 
  STATUS=open 
fi 
# 
if  test "$STATUS" = "halfday" -a "$TIMENOW" -gt "0800" -a "$TIMENOW" -lt "1200" 
then 
  STATUS=open 
fi 
# 
if  test "$DAY" = "Sat" -a "$TIMENOW" -gt "0900" -a "$TIMENOW" -lt "1600" 
then 
  STATUS=open 
fi 
# 
if  test "$DAY" = "Sun" -a "$TIMENOW" -gt "0900" -a "$TIMENOW" -lt "1300" 
then 
  STATUS=open 
fi 
# 
# Until I can get the Holiday logic done in extensions.conf 
# We Be CLOSED!!! 
# 
if  test "$STATUS" = "holiday" 
then 
  STATUS=closed 
fi 
# 
echo "SET VARIABLE status $STATUS \"\""

Trotzdem danke! Jetzt muss ich nur noch die Feiertage und Zeiten anpassen...
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.