Wie alle alten Nachrichten in der Mailbox per Telefon löschen?

ploieel

Aktives Mitglied
Mitglied seit
13 Mrz 2005
Beiträge
1,886
Punkte für Reaktionen
25
Punkte
48
Hallo;
ich bekomme es nicht hin, per Telefon alle alten Nachrichten auf der Mailbox zu löschen. Könnt ihr mir bitte einen Rat geben, wie das hinzukriegen ist?

Auszug aus meiner extensions.conf:

Code:
:

[mailbox_loeschen]
exten => 555,1,System(find /asterisk/spool/voicemail/default/111/Old/ -name "msg????.*" -a -path "*" -exec rm "{}" \\;)
exten => 555,n,VoiceMailMain(s${CALLERID(num)})
exten => 555,n,Hangup

Fehlermeldung des Asterisk:

Code:
 -- Executing [555@default:1] System("Zap/2-1", "find /asterisk/spool/voicemail/default/111/Old/ -name "msg????.*" -a -path "*" -exec rm "{}" \;") in new stack
[Dec 13 17:53:32] WARNING[7401]: app_system.c:107 system_exec_helper: Unable to execute 'find /asterisk/spool/voicemail/default/111/Old/ -name "msg????.*" -a -path "*" -exec rm "{}" \;'
  == Spawn extension (default, 555, 1) exited non-zero on 'Zap/2-1'
    -- Hungup 'Zap/2-1'

Ich bitte um Hilfe.

Danke und Grüße
 
Zuletzt bearbeitet:
Hallo!

Kann mir vorstellen, dass es den System-Aufruf aufwirft, weil da irgendwo ein Problem mit den Anführungszeichen entsteht, versuch mal diese zu escapen.

Ich persönlich würde da ein Shell-Script für schreiben und dieses dann über
Code:
...
exten = 555,1,TrySystem(/bin/bash -c /usr/local/bin/script.php)
...
aufrufen.

Hoffe, das hilft!

LG, Laureen
 
Hallo laureen;

das was Du schreibst, mag ja genau Die Lösung meines Problems sein, aber es ist mir zu esotherisch geschrieben. "Escapen"; ein php-script, das an den richtigen Ort zu schieben ist, damit es auch wirksam wird; geht es bitte nicht auch drei Stufen simpler? Ich bin ganz einfach überfordert mit dem was Du schreibst...

Dann lösche ich lieber von Zeit zu Zeit per Hand mit WinSCP die entsprechenden Files; eleganter wäre es aber auf jeden Fall gewesen, die alten Nachrichten auf der Mailbox auch per Telefon löschen zu können.

Vielen Dank, vielleicht gibt es doch noch andere (einfacher zu realisierende) Vorschläge.

Herzliche Grüße
 
"Escapen" kannst du das Anführungszeichen indem du ein Backslash \ davorsetzt.

Oder versuch mal das so zu machen:

Code:
System('find /asterisk/spool/voicemail/default/111/Old/ -name "msg????.*" -a -path "*" -exec rm "{}" \\;')
 
Hallo,
ich habe nunmehr herausgefunden, dass es den "find"-Befehl auf meinem System nicht gibt. :-(

Grüße

EDIT:
habe den find-Befehl in mein System integriert. Jetzt funktioniert alles.
 
Zuletzt bearbeitet:
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.