.titleBar { margin-bottom: 5px!important; }

Hilfe gesucht für openclose.agi

Dieses Thema im Forum "Asterisk Skripte" wurde erstellt von Guard-X, 26 Jan. 2006.

  1. Guard-X

    Guard-X Aktives Mitglied

    Registriert seit:
    14 Mai 2005
    Beiträge:
    2,497
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Aurich
    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
     
  2. chaos2000

    chaos2000 Aktives Mitglied

    Registriert seit:
    22 Aug. 2004
    Beiträge:
    2,028
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    LE
    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:

  3. Guard-X

    Guard-X Aktives Mitglied

    Registriert seit:
    14 Mai 2005
    Beiträge:
    2,497
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Aurich
    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...