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 [xxxx@xxxx: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
 
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
 
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....
 
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?
 
Das klingt so als hätte der Benutzer, unter dem Asterisk läuft, keine Berechtigung für oder keinen path zu wget. :gruebel:
 
puh, jetzt kommt es raus: Von Linux habe ich nur wenig (keine) Ahnung ;) Will sagen: Wie prüfe und ändere ich das? ;)
 
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?
 
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...
 
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
 
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.... :(
 
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
 
4 Jahre..... und dann sowas..... SELinux war Schuld - nun läuft es...

Das kommt davon, wenn man keine Ahnung hat :(
 
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.