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

Asterisk 1.4.21.2 > System() aufruf

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von RealofTime, 12 Dez. 2008.

  1. RealofTime

    RealofTime Neuer User

    Registriert seit:
    12 Dez. 2008
    Beiträge:
    2
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo zusammen,

    ich habe folgendes Problem. Ich setze aktuell Asterisk 1.4.21.2 ein.
    Soweit alles wunderbar ;)

    Ich habe in meiner extensions.conf folgenden Abschnitt:

    exten => _9900,1,Answer()
    exten => _9900,2,System(rm -f /tmp/nachricht.wav)
    exten => _9900,3,Wait(1)
    exten => _9900,4,Record(/tmp/nachricht.wav)
    exten => _9900,5,Wait(1)
    exten => _9900,6,Playback(/tmp/nachricht)
    exten => _9900,7,System(/usr/bin/mutt -a /tmp/nachricht.wav -s Sprachnachricht meine@meine.de </dev/null)
    exten => _9900,8,System(rm -f /tmp/nachricht.wav)
    exten => _9900,9,Hangup()

    Führe ich /usr/bin/mutt -a /tmp/nachricht.wav -s Sprachnachricht meine@meine.de </dev/null auf der Bash direkt aus, klappt es. Allerdings als root. Asterisk hat ja per default /bin/false; Braucht er für Systembefehle eine bash ? Wenn asterisk

    exten => _9900,7,System(/usr/bin/mutt -a /tmp/nachricht.wav -s Sprachnachricht meine@meine.de </dev/null)

    ausführt wird kein Fehler geworfen in der CLI aber auch kein Eintrag in die Mailqueue gestellt. Jemand eine Idee oder einen Tipp für das weitere vorgehen ?

    Vielen Dank
    Gruß RoT
     
  2. laureen

    laureen Mitglied

    Registriert seit:
    17 Okt. 2004
    Beiträge:
    369
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Es wird schon ein Fehler "geworfen", nur siehst du den nicht, weil "System" einen fork macht und stdout und stderr nicht mehr mit der CLI der Asterisk verbunden sind. Schau mal in den /var/log/syslog oder /var/log/messages, vielleicht findet sich dort ein Hinweis, wieso der Aufruf schief geht.

    Ich würde mal ein "/bin/bash -c" vor den command setzen, damit sollte zumindest eine gültige Shell geladen werden. Wenn das nichts ändert, könntest Du dem asterisk user eine gültige shell geben, wie Du bereits angemerkt hast.

    Des Weiteren würde ich stark anraten, anstatt "System" den Dialplan-Command "TrySystem" zu verwenden.

    Grüße,
    Laureen
     
  3. RealofTime

    RealofTime Neuer User

    Registriert seit:
    12 Dez. 2008
    Beiträge:
    2
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Fehler

    Hi,

    Dec 15 09:03:07 uderzo asterisk[8497]: rc_avpair_new: unknown attribute 1490026597


    wird zum gleichen Zeitpunkt ausgegeben. Sonst wird nichts ans messages oder syslog weitergegeben.

    Gruß & Danke
    RoT