RELOAD über Manager

patrickv

Neuer User
Mitglied seit
26 Okt 2006
Beiträge
30
Punkte für Reaktionen
0
Punkte
0
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
 

Guard-X

Aktives Mitglied
Mitglied seit
14 Mai 2005
Beiträge
2,497
Punkte für Reaktionen
0
Punkte
0
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.
 

patrickv

Neuer User
Mitglied seit
26 Okt 2006
Beiträge
30
Punkte für Reaktionen
0
Punkte
0
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?
 

patrickv

Neuer User
Mitglied seit
26 Okt 2006
Beiträge
30
Punkte für Reaktionen
0
Punkte
0
Ich meine...

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

Thomas007

Aktives Mitglied
Mitglied seit
18 Sep 2005
Beiträge
1,455
Punkte für Reaktionen
0
Punkte
0
Nach dem öffnen musst Du erst die Header auslesen, dann erst schreiben.
 

patrickv

Neuer User
Mitglied seit
26 Okt 2006
Beiträge
30
Punkte für Reaktionen
0
Punkte
0
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!
 

Thomas007

Aktives Mitglied
Mitglied seit
18 Sep 2005
Beiträge
1,455
Punkte für Reaktionen
0
Punkte
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)
{
......
 

patrickv

Neuer User
Mitglied seit
26 Okt 2006
Beiträge
30
Punkte für Reaktionen
0
Punkte
0
Es funktioniert

Danke für Eure Tipps, nun funktionierts einwandfrei!
 

3CX PBX - GRATIS
Linux / Win / Cloud

Statistik des Forums

Themen
232,832
Beiträge
2,027,219
Mitglieder
350,921
Neuestes Mitglied
gordon78