.titleBar { margin-bottom: 5px!important; }

Setvar in Callfile funktioniert nicht - gelöst

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von stony999, 21 Jan. 2007.

  1. stony999

    stony999 Neuer User

    Registriert seit:
    12 Aug. 2006
    Beiträge:
    169
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #1 stony999, 21 Jan. 2007
    Zuletzt bearbeitet: 30 Jan. 2007
    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})
    
     
  2. stony999

    stony999 Neuer User

    Registriert seit:
    12 Aug. 2006
    Beiträge:
    169
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hat da wirklich niemand eine Idee?
     
  3. chaos2000

    chaos2000 Aktives Mitglied

    Registriert seit:
    22 Aug. 2004
    Beiträge:
    2,028
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    LE
    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);
      }
    
     
  4. stony999

    stony999 Neuer User

    Registriert seit:
    12 Aug. 2006
    Beiträge:
    169
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Das habe ich jetzt auch probiert.
    Leider wird Variable auf diese Weise auch nicht gesetzt. Auch im Logfile steht keine Meldung dazu.
     
  5. chaos2000

    chaos2000 Aktives Mitglied

    Registriert seit:
    22 Aug. 2004
    Beiträge:
    2,028
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    LE
  6. stony999

    stony999 Neuer User

    Registriert seit:
    12 Aug. 2006
    Beiträge:
    169
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Danke, das war die Lösung