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

RELOAD über Manager

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von patrickv, 30 Nov. 2006.

  1. patrickv

    patrickv Neuer User

    Registriert seit:
    26 Okt. 2006
    Beiträge:
    30
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Informatiker
    Wir haben ein PHP Script das per PHP ein RELOAD in der Manager Console auslöst:

    $socket = fsockopen("127.0.0.1","5038", $errno, $errstr, $timeout);
    fputs($socket, "Action: Login\r\n");
    fputs($socket, "UserName: AstPHP\r\n");
    fputs($socket, "Secret: AstPHP\r\n\r\n");
    fputs($socket, "Action: Command\r\n");
    fputs($socket, "Command: reload\r\n\r\n");
    //fputs($socket, "Action: Logoff\r\n\r\n");
    $wrets=fgets($socket,128);

    Nun kommt aber schon beim nächsten mal der Fehler:
    "The previous reload command didn't finish yet"
    und man kann auch kein RELOAD mehr über die CLI Konsole mehr absetzen.

    Kennt das jemannd under jemandin? Oder hat wer einen Tipp?

    Patrick
     
  2. Guard-X

    Guard-X Aktives Mitglied

    Registriert seit:
    14 Mai 2005
    Beiträge:
    2,497
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Aurich
    Mal alles zurücksetzen und dann einen Reload auf der CLI absetzen. Funktioniert das denn wenigstens?

    Wenn ja, dann mal den Manager ohne PHP ansprechen.
     
  3. patrickv

    patrickv Neuer User

    Registriert seit:
    26 Okt. 2006
    Beiträge:
    30
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Informatiker
    RELOAD per PHP

    Klar dann gehts, nachdem dann der Asterisk neu gestartet wurde.

    Aber eben wir ändern Einträge in .conf Files und müssen via PHP die Möglichkeit geben ein RELOAD zu machen. Hast Du das Problem auch?
     
  4. patrickv

    patrickv Neuer User

    Registriert seit:
    26 Okt. 2006
    Beiträge:
    30
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Informatiker
    Ich meine...

    dann gehts dan wieder in der CLI und dann kann ich genau wieder nur 1x via PHP diesen befehl auslösen...
     
  5. Thomas007

    Thomas007 Aktives Mitglied

    Registriert seit:
    18 Sep. 2005
    Beiträge:
    1,455
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Nach dem öffnen musst Du erst die Header auslesen, dann erst schreiben.
     
  6. patrickv

    patrickv Neuer User

    Registriert seit:
    26 Okt. 2006
    Beiträge:
    30
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Informatiker
    Header

    Wie lese ich diesen Header aus?

    Ich habe es jetzt so gelöst das wir nur einen EXTENSIONS RELOAD machen dann geht es eigentlich.

    Danke für Eure Hilfe!
     
  7. Thomas007

    Thomas007 Aktives Mitglied

    Registriert seit:
    18 Sep. 2005
    Beiträge:
    1,455
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Es gibt eine PHP class, mal auf www.voip-info. org suchen, daraus:

    ....
    $this->socket = @fsockopen($this->server, $this->port, $errno, $errstr);
    if($this->socket == false)
    {
    $this->log("Unable to connect to manager {$this->server}:{$this->port} ($errno): $errstr");
    return false;
    }

    // read the header
    $str = fgets($this->socket);
    if($str == false)
    {
    ......
     
  8. patrickv

    patrickv Neuer User

    Registriert seit:
    26 Okt. 2006
    Beiträge:
    30
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Informatiker
    Es funktioniert

    Danke für Eure Tipps, nun funktionierts einwandfrei!