[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.
 
Kostenlos!

Statistik des Forums

Themen
248,887
Beiträge
2,303,975
Mitglieder
378,565
Neuestes Mitglied
BenGradish