AGI und DIALSTATUS

Beastie

Neuer User
Mitglied seit
19 Okt 2005
Beiträge
42
Punkte für Reaktionen
0
Punkte
6
Hi,

ich versuche gerade unseren Dialplan in einem AGI abzubilden, was auch ziemlich gut funktioniert.
Das Einzige, was mir Sorgen bereitet ist die Moeglichkeit Variablen abzufragen. Das soll ja mit
GET VARIABLE gehen, aber irgendwie tut das nicht so, wie ich das will.

So sieht der Block mit "AGI debug" aus:

AGI Rx << EXEC Dial "SIP/42|30|oTW"
-- AGI Script Executing Application: (Dial) Options: (SIP/42|30|oTW)
-- Called 42
-- SIP/42-28f01000 is ringing
AGI Tx >> 200 result=0
AGI Rx << GET VARIABLE DIALSTATUS
AGI Tx >> 200 result=1 (NOANSWER)
AGI Rx << NOOP Status ist: 200 result=1
AGI Tx >> 200 result=0
AGI Rx << NOOP None
AGI Tx >> 200 result=0

Und das ist dazugehoerige Codeschnipsel:

sys.stdout.write("EXEC Dial \"%s|%s|oTW\"\n" % (result_one[1], result_one[4]))
sys.stdout.flush()
sys.stdout.write("GET VARIABLE DIALSTATUS\n")
sys.stdout.flush()
bla = sys.stdin.readline()
sys.stdout.write("NOOP Status ist: %s\n" % bla)
sys.stdout.flush()
result = re.search('.*\((.*?)\).*', bla)
if result is None:
sys.stdout.write("NOOP %s\n" % result)
sys.stdout.flush()
pass
else:
status = result.group(1)
sys.stdout.write("NOOP %s\n" % status)
sys.stdout.flush()

Wenn Asterisk mir den DIALSTATUS uebergibt, steht er in Klammern, aber die
werden mir in der Variable, die ich ueber stdin einlese, nicht mitgegeben.

Hat jemand eine Erklaerung, oder Loesung dafuer?

Danke!


Ciao,
-Martin.
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
245,640
Beiträge
2,236,823
Mitglieder
372,704
Neuestes Mitglied
fm41
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

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.