im Dialplan per wget URL aufrufen

xebero

Neuer User
Mitglied seit
25 Jan 2012
Beiträge
10
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

vorab: Ich habe kein CURL und will das auch nicht nachträglich installieren, wenn ich es vermeiden kann - der asterisk läuft schon im produktiveinsatz.

Ich möchte im Dialplan per wget eine URL aufrufen und versuche das wie folgt:

Code:
exten => 123,1,Answer()
exten => 123,n,SayNumber(1)
exten => 123,n,System(wget http://IP-Adresse/test.php)
exten => 123,n,Hangup()
Wenn ich den wget Teil auf der shell teste, geht das... wenn ich nun aber die 123 anrufe, bleibt das ganze am wget hängen, ohne das was passiert (die php seite wird auch nicht ausgeführt)...

Ausgabe:
Code:
 Executing [[email protected]:x] System("DAHDI/i3/xxxxxxxxxxxxx", "wget http://IP-ADRESSE/test.php") in new stack
Da bleibt es hängen - nachfolgende Befehler werden nicht mehr ausgeführt...

Was mache ich falsch?

Danke
 

wichard

IPPF-Promi
Mitglied seit
16 Jun 2005
Beiträge
6,954
Punkte für Reaktionen
0
Punkte
36
Bei mir läuft es mit
Code:
exten => 0049...............,n,system(wget -q -O /dev/null "http://domain.tld/pfad/zur/datei.php" &>/dev/null &)

Gruß,
Wichard
 

xebero

Neuer User
Mitglied seit
25 Jan 2012
Beiträge
10
Punkte für Reaktionen
0
Punkte
0
Hmmm, damit laufen die Befehle schonmal durch... also auch das, was nach dem wget folgt... das PHP Script wird aber nicht ausgeführt... aber schonmal einen Schritt weiter....
 

xebero

Neuer User
Mitglied seit
25 Jan 2012
Beiträge
10
Punkte für Reaktionen
0
Punkte
0
Schon komisch... die PHP Datei sendet eine Mail.... rufe ich den wget befehl auf der shell auf, wird die mail verschickt... mache ich das im Dialplan über den System Befehl funktioniert das nicht.... habe es nun statt mit wget auch mit lynx versucht - klappt nicht.

Mache ich einen Denkfehler?
 
R

rentier-s

Guest
Das klingt so als hätte der Benutzer, unter dem Asterisk läuft, keine Berechtigung für oder keinen path zu wget. :gruebel:
 

xebero

Neuer User
Mitglied seit
25 Jan 2012
Beiträge
10
Punkte für Reaktionen
0
Punkte
0
puh, jetzt kommt es raus: Von Linux habe ich nur wenig (keine) Ahnung ;) Will sagen: Wie prüfe und ändere ich das? ;)
 

xebero

Neuer User
Mitglied seit
25 Jan 2012
Beiträge
10
Punkte für Reaktionen
0
Punkte
0
Ok, ich habe schonmal herausfinden können, dass asterisk vom user root ausgeführt wird...

Code:
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 1537 root      20   0 2937m 230m  13m S 103.6  5.8   3054:33 asterisk
Daran sollte es also nicht liegen,oder?.... noch jemand eine Idee?
 

IEEE

Mitglied
Mitglied seit
23 Jul 2005
Beiträge
297
Punkte für Reaktionen
1
Punkte
18
Gib mal sicherheitshalber im system aufruf das wget mit kompletten Pfad an (vermutlich /usr/bin/wget - das kannst du noch mittels "which wget" überprüfen).

BTW - irgendwie finde ich die CPU Last von Deinem asterisk Prozess ungewöhnlich hoch...
 

xebero

Neuer User
Mitglied seit
25 Jan 2012
Beiträge
10
Punkte für Reaktionen
0
Punkte
0
Danke für den Tipp - klappt auch nicht.... /usr/bin/wget ist korrekt - macht aber keinen Unterschied.

Zur CPU Last: Ja, das hat mich auch gewundert... in der Summierung aller Prozesse wird das aber anders angezeigt
Code:
Cpu(s):  9.4%us, 16.3%sy,  0.0%ni, 74.2%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
 

xebero

Neuer User
Mitglied seit
25 Jan 2012
Beiträge
10
Punkte für Reaktionen
0
Punkte
0
Fast vier (!!!) Jahre später beschäftigt mich dieses Problem noch immer.... (naja immer mal wieder ;))

Jemand noch eine Idee?

Asterisk läuft mit root, funktionieren tut das wget aber nicht.... also dachte ich mir, ich bin ein Schlaufuchs und versuche ich einen AGI Aufruf (ausführbare php datei ins AGI-BIN Verzeichnis mit erster Zeile /usr/bin/php) ..... klappt auch nicht - "Permission denied".... die Php Datei hat chmod 755 und lässt sich so einfach ausführen und tut dann was sie soll... über asterisk hingegen nicht - weder per wget aufruf, noch per system()

Ich bin für jede Idee dankbar.... ich bin sogar bereit zu zahlen! Ich bin unheimlich genervt! Vier Jahre.... :(
 

koyaanisqatsi

IPPF-Urgestein
Mitglied seit
24 Jan 2013
Beiträge
11,880
Punkte für Reaktionen
260
Punkte
83
Moins

Na dann poste doch mal, was du versucht hast.
Dann kann es verbessert werden.
Oder erwartest du eine Fertiglösung die auf deinem System* eh nicht funktioniert?
Außerdem rate ich eher zu: same => n,TrySystem(/usr/bin/wget -O /tmp/output.html http://localhost/index.html)
Das Verzeichnis /tmp sollte auf einen normalen Linux für ALLE Benutzer beschreibbar sein.


* Asterisk sollte als Benutzer/Gruppe asterisk laufen
 

xebero

Neuer User
Mitglied seit
25 Jan 2012
Beiträge
10
Punkte für Reaktionen
0
Punkte
0
4 Jahre..... und dann sowas..... SELinux war Schuld - nun läuft es...

Das kommt davon, wenn man keine Ahnung hat :(
 

Zurzeit aktive Besucher

3CX PBX - GRATIS
Linux / Win / Cloud

Neueste Beiträge

Statistik des Forums

Themen
234,050
Beiträge
2,042,051
Mitglieder
353,385
Neuestes Mitglied
Hans-R