[Erledigt] Asterisk Extensions und System befehl

Arcon

Aktives Mitglied
Mitglied seit
15 Jan 2006
Beiträge
1,164
Punkte für Reaktionen
0
Punkte
36
moin,
ich steh grad aufn schlauch, ich versuche nen einfachen countdown zu machen. Dazu lege ich ne call datei an, ändere das erstellungsdatum in die zukunft und verschiebe diese in outgoing.

gebe ich denn code in die Console ein, funktioniert das auch, aber wenn ich das mit asterisk über system() mache, löst er sofort denn call aus

Code:
exten => 992,n,system(echo -e "Channel: SIP/300\\nCallerid: CountDown <900>\\nMaxRetries: 0\\nRetryTime: 6\\nWaitTime: 8\\nContext: countdown\\nExtension: 1" > /tmp/countdown.call)
exten => 992,n,System(touch -t $(date +%Y%m%d%H%M -d '+10 seconds') /tmp/countdown.call)
exten => 992,n,System(mv /tmp/countdown.call /var/spool/asterisk/outgoing/)

log
Code:
-- Executing [992@countdown:23] System("SIP/300-081dece0", "echo -e "Channel: SIP/300\nCallerid: CountDown <900>\nMaxRetries: 0\nRetryTime: 6\nWaitTime: 8\nContext: countdown\nExtension: 1" > /tmp/countdown.call") in new stack
    -- Executing [992@countdown:24] System("SIP/300-081dece0", "touch -t $(date +%Y%m%d%H%M -d +10 seconds) /tmp/countdown.call") in new stack
    -- Executing [992@countdown:25] System("SIP/300-081dece0", "mv /tmp/countdown.call /var/spool/asterisk/outgoing/") in new stack
    -- Executing [992@countdown:26] Playback("SIP/300-081dece0", "/var/sounds/exit_countdown") in new stack
ich vermute, das der fehler irgendwo in der abarbeitung bei touch liegt..
Kann mir mal jemand nen tipp geben?
Vielen dank
 
Zuletzt bearbeitet:
Nee leider nicht, die angabe von sekunden ist unwichtig.

Asterisk arbeitet aus irgendeinem grund denn date syntax nicht ab, und ich weiß nicht warum..
 
Und wenn Du Dir die Zeit gleich von Asterisk geben lässt?

ungetestet:
Code:
exten => 992,n,System(touch -t ${STRFTIME(${EPOCH}+10,Europe/Berlin,%Y%m%d%H%M.%S)} /tmp/countdown.call)
 
Gute idee, aber leider das selbe ergebniss, call wird sofort ausgelöst:mad:


Edit:
Problem gelöst, mein code war richtig, nur asterisk kann nichts mit sekunden anfangen, nen countdown sollte also minimum 1 minute in der zukunft liegen

Danke dir Svenja für die Hilfe
 
Zuletzt bearbeitet:
Ich hab grad das hier bei google gefunden:
Code:
exten => 992,n,System(touch -t `date --date='+10 seconds' '+%Y%m%d%H%M.%S'` /tmp/countdown.call)

Die behaupten, dass das Call-File damit 10 Sekunden später ausgeführt werden soll? Der Artikel ist von Dez. 2008.
 
Kann nicht funktionieren, nach meinen Jetzigen erkentnissen, achten die Asterisk server nicht auf sekunden, nur Jahr monat Tag stunde minute, muss übereinstimmen damit das callfile abgearbeitet wird

Theoretisch funktioniert nen counter über sekunden, wenn die dazu gerechneten sekunden, in der nächsten Minute liegen, dann kommt es einem so vor das die callfile in 10 sekunden abgearbeitet wurde.
 
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.