hallo forum:
ich möchte meinem AGI script aus der extension.conf 2 variablen übergeben
extension.conf
agiscript: auftragssuche.agi
wenn ich das agiscript manuell auf der shell aufrufe mit ./auftragssuche.agi XXX XXXXXX funktioniert es .
wenn ich das aber über asterisk aufrufe:
z.B.
wird nichtś in das ausgabefile geschrieben:
auszug aus der CLI
muss ich die variablen vielleicht anders übergeben????
vielleicht kann mir jemand dabei helfen.
danke schon mal im voraus.
korny
ich möchte meinem AGI script aus der extension.conf 2 variablen übergeben
extension.conf
Code:
[default]
exten => 300,1,Goto(mainmenu,s,1)
[mainmenu]
exten => s,1,BackGround(VR_GutenTag)
exten => s,2,Goto(submenu_markt,s,1)
[submenu_markt]
exten => s,1,BackGround(VR_marktnummer_eingabe)
exten => _XXX,1,SayAlpha(${EXTEN})
exten => _XXX,2,System(echo Marktnummer:M${EXTEN} >> /tmp/nummer.txt)
exten => _XXX,3,SetVar(DTMF_MARKT=M${EXTEN})
exten => _XXX,4,Goto(submenu_auftrag,s,1)
[submenu_auftrag]
exten => s,1,BackGround(VR_Auftrag_Eingabe)
exten => _ZXXXXX,1,BackGround(VR_Nummer_lautet)
exten => _ZXXXXX,2,SayAlpha(${EXTEN})
exten => _ZXXXXX,3,System(echo Auftragsnummer:${EXTEN} >> /tmp/nummer.txt)
exten => _ZXXXXX,4,SetVar(DTMF_AUFTRAG=${EXTEN})
exten => _ZXXXXX,5,Goto(submenu_korrekt,s,1)
[submenu_korrekt]
exten => s,1,BackGround(VR_Eingabe_korrekt_1_9)
exten => 1,1,Goto(submenu_auftragssuche,s,1)
exten => 9,1,Goto(mainmenu,s,1)
exten => 8,1,Goto(submenu_test,s,1)
[submenu_auftragssuche]
exten => s,1,BackGround(VR_Auftrag_wird_gesucht)
exten => s,2,AGI(auftragssuche.agi)
exten => s,3,Goto(submenu_markt,s,1)
exten => s,4,Hangup()
agiscript: auftragssuche.agi
Code:
#!/bin/bash
#
#
# =============================================================================
# KONFIGURATION AN LOKALE BEGEBENHEITEN ANPASSEN
# =============================================================================
#
#
basedir=/usr/share/asterisk # Verzeichnis zu *-"Zutaten"
agidir=$basedir/agi-bin # AGI-Verzeichnis
workdir=/home/asterisk # FÃr tests und zum "debugen"
database=$workdir/einfachesfile.txt
# UebergabeVariablen
MARKT= "HIER SOLLTE DIE VARIABLE AUS ASTERISK ${DTMF_MARKT} stehen"
AUFTRAG="HIER SOLLTE DIE VARIABLE AUS ASTERISK ${DTMF_AUFTRAG} stehen"
#
#
STATUS=`grep $MARKT $database | grep $AUFTRAG |cut -d: -f4`
#
===========================================================================
# ab hier folgt der code:
# ===========================================================================
echo "der eingegeben markt lautet:"$MARKT"\n" >> /tmp/test.txt
echo "die eingegeben autragsnummer lautet:"$AUFTRAG"\n" >> /tmp/test.txt
echo "der Status des Auftrages betraegt:"$STATUS"\n" >> /tmp/test.txt
wenn ich das agiscript manuell auf der shell aufrufe mit ./auftragssuche.agi XXX XXXXXX funktioniert es .
wenn ich das aber über asterisk aufrufe:
z.B.
Code:
[submenu_auftragssuche]
exten => s,1,BackGround(VR_Auftrag_wird_gesucht)
exten => s,2,AGI(auftragssuche.agi ${DTMF_MARKT} ${DTMF_AUFTRAG})
exten => s,3,Goto(submenu_markt,s,1)
wird nichtś in das ausgabefile geschrieben:
auszug aus der CLI
Code:
-- Playing 'VR_Auftrag_wird_gesucht' (language 'de')
-- Executing AGI("SIP/xlite1-dee1", "auftragssuche.agi M011 123456") in new stack
-- Launched AGI Script /usr/share/asterisk/agi-bin/auftragssuche.agi M011 123456
AGI Tx >> agi_request: auftragssuche.agi M011 123456
AGI Tx >> agi_channel: SIP/xlite1-dee1
AGI Tx >> agi_language: de
AGI Tx >> agi_type: SIP
AGI Tx >> agi_uniqueid: asterisk-30580-1132750538.30
AGI Tx >> agi_callerid: "xlite1" <xlite1>
AGI Tx >> agi_dnid: 300
AGI Tx >> agi_rdnis: unknown
AGI Tx >> agi_context: submenu_auftragssuche
AGI Tx >> agi_extension: s
AGI Tx >> agi_priority: 2
AGI Tx >> agi_enhanced: 0.0
AGI Tx >> agi_accountcode:
AGI Tx >>
-- AGI Script auftragssuche.agi M011 123456 completed, returning 0
-- Executing Goto("SIP/xlite1-dee1", "submenu_markt|s|1") in new stack
-- Goto (submenu_markt,s,1)
-- Executing BackGround("SIP/xlite1-dee1", "VR_marktnummer_eingabe") in new stack
muss ich die variablen vielleicht anders übergeben????
vielleicht kann mir jemand dabei helfen.
danke schon mal im voraus.
korny