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

AGI User Input funktioniert nicht

Dieses Thema im Forum "Asterisk Skripte" wurde erstellt von ahofmann, 26 Jan. 2009.

  1. ahofmann

    ahofmann Neuer User

    Registriert seit:
    28 März 2007
    Beiträge:
    5
    Zustimmungen:
    0
    Punkte für Erfolge:
    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
     
  2. laureen

    laureen Mitglied

    Registriert seit:
    17 Okt. 2004
    Beiträge:
    369
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hast Du vor dieser Zeile den Anruf beantwortet (answer)?

    Grüße,
    Laureen
     
  3. ahofmann

    ahofmann Neuer User

    Registriert seit:
    28 März 2007
    Beiträge:
    5
    Zustimmungen:
    0
    Punkte für Erfolge:
    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?