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

[Frage] AGI Skript - Übermittlung eines Wertes einer Variablen

Dieses Thema im Forum "Asterisk Skripte" wurde erstellt von michaelxy, 14 Nov. 2011.

  1. michaelxy

    michaelxy Neuer User

    Registriert seit:
    8 Mai 2005
    Beiträge:
    57
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Bananenrepublik
    Hallo,

    da der Asterisk 1.2 einen recht schlimmen Zufall generiert, muß ich eine Zufallszahl mittels AGI generieren. Ich muß auch Asterisk 1.2 nehmen.

    Irgendwie bekomme ich aber von dem AGI Script keine Variable zurück in den Kontext übermittelt !?

    Code:
    exten => s,1,Answer()
    exten => s,2,AGI(asterisk_agi_zufall.agi)
    exten => s,3,NoOp(${zufallszahlex})
    exten => s,4,NoOp(${zufallszahlin})
    exten => s,5,HangUp
    
    asterisk_agi_zufall.agi:

    Code:
    #!/bin/bash
    
    zufallszahlin=`echo $((RANDOM % 260 +1))`
    echo $zufallszahlin
    echo "SET VARIABLE zufallszahlex $zufallszahlin"
    echo $zufallszahlex
    
    Code:
     -- Launched AGI Script /var/lib/asterisk/agi-bin/asterisk_agi_zufall.agi
        -- AGI Script asterisk_agi_zufall.agi completed, returning 0
        -- Executing NoOp("SIP/michael-b6e07eb0", "") in new stack
        -- Executing NoOp("SIP/michael-b6e07eb0", "") in new stack
        -- Executing Hangup("SIP/michael-b6e07eb0", "") in new stack
      == Spawn extension (205, s, 5) exited non-zero on 'SIP/michael-b6e07eb0'
    
    Wie bekomme ich die Variable von dem AGI Skript zurück in den Kontext ?
     
  2. rentier-s

    rentier-s Guest

  3. michaelxy

    michaelxy Neuer User

    Registriert seit:
    8 Mai 2005
    Beiträge:
    57
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Bananenrepublik
    #3 michaelxy, 15 Nov. 2011
    Zuletzt bearbeitet: 15 Nov. 2011
    Schade - scheint, daß es bei AGI eher nur Übermittlung der Werte vom Kontext -> AGI gibt, und nicht umgekehrt.

    Egal - er schreibt nun per echo ... den Zufall in eine txt-Datei.

    ...
    exten => s,n,ReadFile(zufall=/CUSTOM/skripte/random-nr.txt)
    exten => s,n,GotoIf($[${zufall} > 200 ]?301:389)
    ...

    Es scheint aber, als könnte das GoToIf den $zufall nicht interpretieren - gibt es dafür einen Grund b.z.w. stimmt das GotoIf so wie es hier steht nicht wirklich ? 301 wie 389 existieren.

    edit - so gehts: exten => s,n,GotoIf($[ ${zufall} = 1 ]?s,301)
     
  4. rentier-s

    rentier-s Guest

    Natürlich gibt es den umgekehrten Weg, das ist ja gerade der Sinn von AGI. Hast Du Dir das Beispiel-Skript angesehen? Du müsstest die Demo-Befehle lediglich durch Dein SET VARIABLE ersetzen.