Setvar in Callfile funktioniert nicht - gelöst

stony999

Neuer User
Mitglied seit
12 Aug 2006
Beiträge
169
Punkte für Reaktionen
0
Punkte
0
Hintergrund: Ich baue gerade eine Raumüberwachung. Eine Kamera auf einem Linux-Rechner startet bei einer Bewegungserkennung ein PHP-Script, welches ein Callfile erzeugt.
Der Callfile ruft die definierte Rufnummer an und verbindet mit einem Telefon mit Lautsprecher im Raum (das automatisch abnimmt), so das der sich dort Aufhaltende direkt angesprochen werden kann.

Alels funktioniert soweit. Leider funktioniert Setvar im Callfile nicht, d.h. die nachfolgende Variable ZIEL wird nicht zum Dialplan übermittelt. Wenn ich eine andere vordefinierte Variable nehme, z.B. CallerId, dann geht es. Hat jemand eine Idee?

Beispiel:
Code:
  $fp = fsockopen ("192.168.178.21", 5038, &$errno, &$errstr, 20);
  if (!$fp) {
    echo "Fehler beim Waehlen: $errstr ($errno)\r\n";
  } else {
    echo "Nummer zum Waehlen $nummer\r\n";
    fputs ($fp, "Action: login\r\n");
    fputs ($fp, "Username: linux\r\n");
    fputs ($fp, "Secret: linux\r\n");
    fputs ($fp, "Events: off\r\n\r\n");
    sleep(1) ;
    fputs ($fp, "Action: Originate\r\n");
    fputs ($fp, "Channel: $nummer\r\n");
    fputs ($fp, "Context: calloutWebcam\r\n");
    echo "Ziel: $ziel\r\n";
    fputs ($fp, "Extension: s\r\n");
    fputs ($fp, "CallerId: $nummer\r\n");
    fputs ($fp, "Priority: 1\r\n");
    fputs ($fp, "SetVar: ZIEL=$ziel\r\n");
    fputs ($fp, "\r\n");
    sleep(1);
    fclose ($fp);
  }

Dialplan:
Code:
[calloutWebcam]
exten => s,1,Playback(einbrecher)
exten => s,n,NoOp(Ziel: ${ZIEL})
exten => s,n,Dial(${ZIEL})
 
Zuletzt bearbeitet:
Hat da wirklich niemand eine Idee?
 
use Set:

Code:
$fp = fsockopen ("192.168.178.21", 5038, &$errno, &$errstr, 20);
  if (!$fp) {
    echo "Fehler beim Waehlen: $errstr ($errno)\r\n";
  } else {
    echo "Nummer zum Waehlen $nummer\r\n";
    fputs ($fp, "Action: login\r\n");
    fputs ($fp, "Username: linux\r\n");
    fputs ($fp, "Secret: linux\r\n");
    fputs ($fp, "Events: off\r\n\r\n");
    sleep(1) ;
    fputs ($fp, "Action: Originate\r\n");
    fputs ($fp, "Channel: $nummer\r\n");
    fputs ($fp, "Context: calloutWebcam\r\n");
    echo "Ziel: $ziel\r\n";
    fputs ($fp, "Extension: s\r\n");
    fputs ($fp, "CallerId: $nummer\r\n");
    fputs ($fp, "Priority: 1\r\n");
    fputs ($fp, "[b][color=red]Set:[/color][/b] ZIEL=$ziel\r\n");
    fputs ($fp, "\r\n");
    sleep(1);
    fclose ($fp);
  }
 
Das habe ich jetzt auch probiert.
Leider wird Variable auf diese Weise auch nicht gesetzt. Auch im Logfile steht keine Meldung dazu.
 
Danke, das war die Lösung
 
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.