AGI wird nicht komplett ausgeführt

iNT2k

Neuer User
Mitglied seit
5 Mrz 2006
Beiträge
16
Punkte für Reaktionen
0
Punkte
0
Hallo Forum.
Folgendes Problem.
Ich baue derzeit eine SMS2Mail-Gateway mit dem *

Der Ausschnitt aus der extensions.conf sieht wie folgt aus:
Code:
exten => ${FN1}/01930100,1,Verbose(Receiving SMS from ${CALLERIDNUM})
exten => ${FN1}/01930100,2,Answer
exten => ${FN1}/01930100,3,Wait(1)
exten => ${FN1}/01930100,4,SMS(smsinfo,a)
exten => ${FN1}/01930100,5,Wait(1)
exten => ${FN1}/01930100,6,AGI(smsanalyse.agi)
exten => ${FN1}/01930100,7,Hangup

Klappt auch alles Prima. Bis auf den Haken das SMS ein wenig traege ist, was das erzeugen der SMS-Datei angeht. Somit greift das AGI voll ins leere (Datei noch nicht vollständig geschrieben).
Das Wait bei der Prio "5" nützt überhaupt nichts, da der Asterisk anscheinend die komplette Kette abbricht, wenn das SMSC aufgelegt hat. Wie bringe ich dem Dings bei, dass es nach dem Kommando SMS(...) gefälligst (egal ob Hangup oder nicht) Warten soll, und noch das AGI sauber ausführt ???

Ein sleep in der smsanalyse.agi bringt überigens auch nichts.
Hier noch mal die smsanalyse (hier im Forum aufgeschnappt und nach Perl portiert:)

Code:
#!/usr/bin/perl -w
my $mail=1;       # 1=Vermailen // 0=Debugmode
my $dir="/var/spool/asterisk/sms/mtrx";
my $fta=`ls -l -r -t $dir|grep 200|tail -1|cut -c45-`;
$fta=~s/^.*(sms.*)$/$1/g;
if (!($mail)) { print $fta; }
my ($mobile,$sms)=('','');
open(SMS,$dir."/".$fta);
while ($in=<SMS>) {
        if ($in=~m/^oa.*/g) {
                $in=~s/^oa\=(.*)\n$/$1/g;
                $mobile=$in;
        } elsif ($in=~m/^.?ud=.*/g) {
                $in=~s/^.?ud=(.*)$/$1/g;
                $sms.=$in;
        }
}
close(SMS);
my $subj=qq~"SMS von $mobile"~;
if ($mail) {
open (SMSmailer,"| mailtargetmail\@targetdomain.tld -s $subj");
print SMSmailer qq~

SMS von $mobile erhalten

$sms

~;
close(SMSmailer);
} else {
        print $mobile." -> ".$sms."\n";
}


Gruss iNT2k
 
Vielen Dank.
Jetzt bricht das AGI nicht mehr ab. Dafuer habe ich ein anderes Problem. Wie bekomme ich die Fehlermeldungen vom agi in der CLI oder sonstwo sichtbar ?
Ohne Fehleranalyse kann ich nur raten ob es eine Rechteproblem oder aehnliches gibt... Von der Shell aus tut das Script einwandfrei.
Pfade zu cut/grep/etc. habe ich auch schon ergänzt...

Gruß iNT2k
 
im AGI einfach ein logfile verwnden:

open LOG, ">>/tmp/agitest.log";

print LOG "gerade bei Schritt 2\n";
 

Neueste Beiträge

Statistik des Forums

Themen
244,860
Beiträge
2,219,687
Mitglieder
371,578
Neuestes Mitglied
ingolf01
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.