AGI GET VARIABLE DIALSTATUS tut nicht

ViennaAustria

Neuer User
Mitglied seit
11 Okt 2005
Beiträge
177
Punkte für Reaktionen
0
Punkte
0
Hallo!

Nachdem unsere Dialpläne aus allen Ufern gewachsen sind, haben wir vor einiger Zeit alles aus extensions.conf rausgenommen und stattdessen in ein in Perl geschriebenes AGI hineingetan. Dort geht es wesentlich aufgeräumter zu. Wir sind voll zufrieden.

Naja...beinahe voll zufrieden:

Ich habe keine Möglichkeit gefunden, den Status einer per AGI abgesetzten Dial() Applikation zu erkennen. Normalerweise findet man das Ergebnis in ${DIALSTATUS}. Vom AGI aus gelingt es mir aber nicht, den Inhalt dieser Variablen abzufragen:

GET VARIABLE DIALSTATUS

liefert immer nur

510 Invalid or unknown command

Wenn ich z.B. eine nicht existente EXTEN wähle:
Code:
    -- AGI Script Executing Application: (Dial) Options: (SIP/887899)
Mar  1 21:17:12 WARNING[26198]: chan_sip.c:1970 create_addr: No such host: 887899
Mar  1 21:17:12 NOTICE[26198]: app_dial.c:1011 dial_exec_full: Unable to create channel of type 'SIP' (cause 3 - No route to destination)
  == Everyone is busy/congested at this time (1:0/0/1)
    -- AGI Script Executing Application: (NoOp) Options: (Result: 200 result=0)
    -- AGI Script Executing Application: (NoOp) Options: (Dialstatus: 510 Invalid or unknown command)

Hat jemand 'ne Idee, wie ich den Status eines von AGI abgesetzten Dials bekommen kann?

Danke,
Thomas
 
Hallo!

ViennaAustria schrieb:
GET VARIABLE DIALSTATUS
liefert immer nur
510 Invalid or unknown command
Fehler gefunden: man muss beim Dial() natürlich auch die Option "g" angeben, damit das Dial nach der Verbindung im AGI Script bzw. im Dialplan weitermacht und nicht den Call terminiert...

Code:
  SendAGI( "EXEC Dial ${number}|60|gwW" );

  if ( SendAGI( "GET VARIABLE DIALSTATUS" ) =~ /^([0-9]*) *result=([0-9]*) *[(](.*)[)]/ )
  {
    my $status= $1;
    my $result= $2;
    my $dialstatus= $3;

    SendAGI( "EXEC NoOp \"DIALSTATUS=${dialstatus}\"" );
  }
Thomas
 
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.