AGI User Input funktioniert nicht

ahofmann

Neuer User
Mitglied seit
28 Mrz 2007
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich schreibe gerade ein AGI Skript (python), in dem ich versuche dem Benutzer zunächst über

Code:
sys.stdout.write("EXEC Playback menue\n")

ein Menue vorzulesen und anschließend auf Eingaben zu warten (Komischerweise hat die STREAM FILE Funktion nicht funktioniert...)

Nachdem der Menütext vorgelesen wurde, versuche ich mit

Code:
sys.stdout.write("WAIT FOR DIGIT 5000")

Benutzereingaben zu lesen. Der Aufruf kommt aber direkt zurück. Auf der Asterisk Konsole ist folgendes zu sehen:

Code:
AGI Rx << WAIT FOR DIGIT 5000
AGI Tx >> 200 result=1

Also kein Erfolg.


Anschließend habe ich folgendes ausgetestet:

Code:
sys.stdout.write("EXEC WaitExten 10")

Damit konnte ich zumindest schonmal auf Benutzereingaben warten.
Der Returncode ist jedoch etwas komisch und ich weiß nicht wie ich diesen weiterverarbeiten kann.

Code:
AGI Rx << EXEC WaitExten 10
    -- AGI Script Executing Application: (WaitExten) Options: (10)
AGI Tx >> 200 result=51


Meine letzte Idee war dann die GET DATA Funktion zu nutzen:

Code:
sys.stdout.write("GET DATA eingabe 50000\n")

Auf der Konsole war dann folgende Ausgabe zu sehen:
Code:
AGI Rx << GET DATA eingabe 50000
    -- <CAPI/ISDN1#02/98007595-199> Playing 'eingabe' (language 'de')

Leider wurde aber kein Sound abgespielt und ich hatte keine Möglichkeit eine Taste zu drücken. Das Skript wurde sofort beendet.

Hat irgendwer eine Idee?
Sollte ich vllt. mal mein Asterisk updaten? Ich verwende z.Zt. 1.4.22
 

laureen

Mitglied
Mitglied seit
17 Okt 2004
Beiträge
369
Punkte für Reaktionen
0
Punkte
0
Hast Du vor dieser Zeile den Anruf beantwortet (answer)?

Grüße,
Laureen
 

ahofmann

Neuer User
Mitglied seit
28 Mrz 2007
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
Ja, Answer() wird als erste Zeile im Dialplan ausgeführt.

Im AGI Skript wird dann kein Answer mehr ausgeführt - ist aber auch nicht mer nötig, oder?
 

Erhalten Sie 3CX für 1 Jahr kostenlos!

Gehostet, in Ihrer privaten Cloud oder on-Premise! Ganz ohne Haken. Geben Sie Ihren Namen und Ihre E-Mail an und los geht´s:

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