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

Callback.agi

Dieses Thema im Forum "Asterisk Skripte" wurde erstellt von RealFairPlayer, 25 Aug. 2005.

  1. RealFairPlayer

    RealFairPlayer Neuer User

    Registriert seit:
    30 Mai 2005
    Beiträge:
    113
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi zusammen,

    Versuche momentan die Callback Funktion zum laufen zu bekommen, folgende Ausgabe bekomme ich im CLI:

    Failed to execute '/var/lib/asterisk/agi-bin/callback.agi': Exec format error
    -- Launched AGI Script /var/lib/asterisk/agi-bin/callback.agi
    -- AGI Script callback.agi completed, returning 0


    Was ist das mit dem Exec format error?

    Hier mal meine callback.agi

    Code:
    ###beginning###
    #!/bin/bash
    src=`grep "^MSN=" /etc/asterisk/callback.conf | sed -e 's/MSN=//g'`
    destination=`grep "^HANDY=" /etc/asterisk/callback.conf | sed -e
    's/HANDY=//g'`
    callpath="/var/spool/asterisk/outgoing/"
    callfile=$callpath"call`date +%Y%m%d_%H%M%S`"
    date=`date +%Y%m%d-%H%M%S`" > "
    logfile=/var/log/asterisk/full
    
    sleep 5
    
    echo $date"new call" >> $logfile
    echo $callfile >> $logfile
    
    i=0
    read -a name
    while [ "${name[0]}" != "agi_callerid:" ]
    do
       read -a name
       i=`expr $i + 1`
       if [ $i -ge 20 ] ; then
            break
       fi
    done
    if [ ${name[0]} = "agi_callerid:" ] ; then
        callerid=${name[1]}
        echo $date"incoming call from: $callerid " >> $logfile
    fi
    
    call2=$callerid
    if [ ${callerid:0:1} = "0" ] ; then
    call2=${callerid:1}
    fi
    testvar=`echo $destination | grep $call2`
    
    echo \"$testvar\" >> /var/log/asterisk/caller
    if [ -n "$testvar" ] ; then
    
    
    echo $date"callback to $callerid" >> $logfile
    
    echo "Channel: ZAP/g1/$src:$callerid"     >  $callfile
    echo "Context: extern"            >> $callfile
    echo "Extension: $src"                  >> $callfile
    echo "SetVar: CALLERIDNUM=$src"         >> $callfile
    echo "MaxRetries: 2"                    >> $callfile
    echo "RetryTime: 10 "                   >> $callfile
    fi
    
    echo $date"end of entry" >> $logfile
    ###end###
    
    Danke schon mal fürs drüberschaun :)

    Grüße,
    Matze
     
  2. britzelfix

    britzelfix Gesperrt

    Registriert seit:
    28 Mai 2004
    Beiträge:
    1,099
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Braunschweig
    @Matze

    tausch mal Zelen 1 und 2
    #!/bin/sh
    muß immer die erste Zeile sein,
    dann wenn noch nicht geschehen
    chmod +x script.agi

    Das kann man auch selbst von der commandozeile ausprobieren
    ob es sich starten lässt.

    Gruß
    britzelfix
     
  3. RealFairPlayer

    RealFairPlayer Neuer User

    Registriert seit:
    30 Mai 2005
    Beiträge:
    113
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hi!

    danke für die schnelle Antwort, mittlerweile läuft das Dingens auch schon, muss nur noch hier und da ein paar Feinheiten ändern, dann passt es :)

    Grüße,
    Matze