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...
 

Neueste Beiträge

Statistik des Forums

Themen
244,871
Beiträge
2,219,892
Mitglieder
371,592
Neuestes Mitglied
dtochtermann
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.