AGI Skript - Übermittlung eines Wertes einer Variablen

Hallo,

der der MD per Asterisk 1.2 einen recht schlimmen Zufall generiert, muß ich eine Zufallszahl mittels AGI generieren. Irgendwie bekomme ich aber von dem AGI Script keine Variable zurück in den Kontext übermittelt ? Das Skript hat eine eigene Durchwahl.

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:

#!/bin/bash

zufallszahlin=`echo $((RANDOM % 260 +1))`
echo $zufallszahlin
echo "SET VARIABLE zufallszahlex $zufallszahlin"
echo $zufallszahlex


 -- 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 ?

so gehts jetzt:

exten => s,1,Answer()
exten => s,n,AGI(asterisk_agi_zufall.agi)
exten => s,n,wait(1)
exten => s,n,ReadFile(zufall=/CUSTOM/skripte/random-nr.txt)
exten => s,n,NoOp(${zufall})

exten => s,n,GotoIf($ ${zufall} = 1 ]?s,301)

asterisk_agi_zufall.agi:

#!/bin/bash

zufallszahlin=echo $((RANDOM % 260 +1))
echo $zufallszahlin >/CUSTOM/skripte/random-nr.txt

Guten Morgen,

Variablen aus deinem AGI bekommst du ganz einfach zurück, in dem du mit SET über den Standard-Out setzt, siehe hierzu http://www.voip-info.org/wiki/view/Asterisk+AGI. Mittels agi set debug on in der CLI kannst du den Debug aktivieren und sieht so was passiert.

Alternativ kannst du auch direkt im Dialplan mit Zufallszahlen arbeiten, siehe hierzu http://www.voip-info.org/wiki/view/Asterisk+func+rand.

In beiden Fällen sparst du dier das Lesen aus einer Datei.

Grüße
Markus