Weckruf

KrasserMann

Neuer User
Mitglied seit
25 Feb 2005
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
Kleiner Tip zu run_wakeups und * auf dem Fli4L .

Nehmt die parameter hinter dem MV befehl raus uns ändert des Shell Typ von BASH nach SH da auf dem FLI Bash nicht vorhanden ist.

Gruß Martin
 

Zapod

Neuer User
Mitglied seit
27 Okt 2004
Beiträge
58
Punkte für Reaktionen
0
Punkte
0
Hallo, habe gerade diese nette Wackruf Agi gefunden. Nur leider fehlt im Download der Version 0.04 die Datei run_wakeups.

Was steht denn da drin? Muss die Datei über Cron aufgerufen werden?

Kleine Anmerkung am Rande: Das die alten Versionen des Skripts nicht mehr zum Download angeboten werden, weil sie überholt sind ist löblich, aber zum nachvollziehen des Threads eher unübersichtlich.

Danke und Grüße aus Mönchengladbach,

Stefan
 

Zapod

Neuer User
Mitglied seit
27 Okt 2004
Beiträge
58
Punkte für Reaktionen
0
Punkte
0
OK, habe nach ein wenig suchen über google eine funktionierende run_wakeups.sh gefunden, die auch über cron ausgeführt wird.

Sollte neben mir jemand die Datei suchen, poste ich sie hier mal rein:

Code:
#!/bin/bash

PENDING=/tmp/wakeups
OUTGOING=/var/spool/asterisk/outgoing
SLEEP=3

TIME=$(/bin/date +%H%M)

for fn in $PENDING/$TIME.*.call
do
 if test -r $fn
 then
  /bin/mv -f $fn $OUTGOING/
  echo "Das Kommando /bin/mv -f $fn $OUTGOING/ wird ausgeführt"
  sleep $SLEEP
 fi
done
Aber jetzt tut sich in meinem Fall doch noch ein neues Problem auf:

[s:6e93d7e85b]Die vom agi-script erstellte Datei sieht jetzt so aus:[/s:6e93d7e85b]
Code:
Channel: SIP/10-f69e/10
Callerid: "Weckruf" <999>
MaxRetries: 2
RetryTime: 60
WaitTime: 60
Context: weckruf
Extension: ***
Priority: 1
[s:6e93d7e85b]Und die Zeile : "Channel: SIP/10-f69e/10" mag mein Asterisk gar nicht, weil es den entsprechenden Channel nicht gibt.
Der korrekte Eintrag in der Zeile müsste IMHO lauten "Channel: SIP/10".
Zusammengesetzt aus den beiden Variablen $agi_channel und $callerid. Aber die Variable $agi_channel hat ja (um bei dem Beispiel zu bleiben) den Wert "SIP/10-f69e". Ich habe gesehen, dass mit einigen "sed" Kommandos die Variable schon arg beschnitten wird, da ja der ursprüngliche Inhalt viel mehr Informationen beinhaltet. Nur leider kenne ich mich mit "sed" nun überhaupt nicht aus um ggf noch die hinteren Zeichen (also "10-f69e") abzuschneiden.

Kann mir da vielleicht jemand helfen ?[/s:6e93d7e85b]

EDIT: Ja, vielleicht sollte ich den Thread erst mal zu ende lesen :) Ist ja in dem Post über mir schon erklärt Sorry :oops:

Danke und nochmal Grüße aus Mönchengladbach

Stefan
 

wrrdlbrrmpft

Mitglied
Mitglied seit
17 Jul 2004
Beiträge
263
Punkte für Reaktionen
0
Punkte
0
Zapod schrieb:
Kleine Anmerkung am Rande: Das die alten Versionen des Skripts nicht mehr zum Download angeboten werden, weil sie überholt sind ist löblich, aber zum nachvollziehen des Threads eher unübersichtlich.
Hallo Stefan,

da hast du vollkommen Recht. Der Thread wird dadurch zerstückelt. Ich hatte mich zu diesem Vorgehen entschieden, damit die aktuelle Version immer gleich im ersten Beitrag ist und man nicht lange suchen muss. Vielleicht würde ich es heute anders machen.

Sollte irgendwer mal die älteren Versionen benötigen, ich bin immernoch per PM zu erreichen. Das gilt zumindest solange, bis mich die Mods für tot erklären.

Viele Grüße!
Benno
 

Zapod

Neuer User
Mitglied seit
27 Okt 2004
Beiträge
58
Punkte für Reaktionen
0
Punkte
0
Hallo Benno,

trotzdem ist das Skript klasse :)

Allerdings habe ich doch noch ein kleines Problem, denn beim Ausführen der Kontrollansage (die eingegebene Uhrzeit wird ja nochmal angesagt) tauchen ein paar Warnmeldungen auf:

Code:
    -- Executing Answer("SIP/10-9f1b", "") in new stack
    -- Executing Wait("SIP/10-9f1b", "1") in new stack
    -- Executing Playback("SIP/10-9f1b", "eigene/Erinner-Welcome") in new stack
    -- Playing 'eigene/Erinner-Welcome' (language 'de')
    -- Executing AGI("SIP/10-9f1b", "wakeup.agi") in new stack
    -- Launched AGI Script /usr/share/asterisk/agi-bin/wakeup.agi
    -- Playing 'hours' (language 'de')
    -- Playing 'minutes' (language 'de')
    -- Playing 'digits/2-and' (language 'de')
May 16 23:35:43 WARNING[8679]: file.c:475 ast_openstream: File  does not exist in any format
May 16 23:35:43 WARNING[8679]: file.c:779 ast_streamfile: Unable to open  (format alaw): No such file or directory
    -- Playing 'digits/20' (language 'de')
May 16 23:35:44 WARNING[8679]: file.c:475 ast_openstream: File  does not exist in any format
May 16 23:35:44 WARNING[8679]: file.c:779 ast_streamfile: Unable to open  (format alaw): No such file or directory
    -- Playing 'digits/2-and' (language 'de')
May 16 23:35:45 WARNING[8679]: file.c:475 ast_openstream: File  does not exist in any format
May 16 23:35:45 WARNING[8679]: file.c:779 ast_streamfile: Unable to open  (format alaw): No such file or directory
    -- Playing 'digits/20' (language 'de')
May 16 23:35:46 WARNING[8679]: file.c:475 ast_openstream: File  does not exist in any format
May 16 23:35:46 WARNING[8679]: file.c:779 ast_streamfile: Unable to open  (format alaw): No such file or directory
  == Spawn extension (default, 999, 4) exited non-zero on 'SIP/10-9f1b'
Man beachte hier die 2 Leerzeichen bei der Meldung "File does not ..."

Hab leider noch nicht raus, warum das so ist .

Gruß
Stefan
 

cruiser

Neuer User
Mitglied seit
4 Mai 2005
Beiträge
32
Punkte für Reaktionen
0
Punkte
0
Download

Wo kann man das script ziehen ?

Ich finde nirgends einen link :(

danke im voraus
 

betateilchen

Grandstream-Guru
Mitglied seit
30 Jun 2004
Beiträge
12,882
Punkte für Reaktionen
0
Punkte
0

toldap

Neuer User
Mitglied seit
9 Aug 2005
Beiträge
134
Punkte für Reaktionen
0
Punkte
0
Hi Ihr Lieben,

Ich krieg es nicht hin...
folgendes Problem:
Grundsätzlich funktioniert das script, d.h. ich kann darauf anrufen,
es nimmt ab, ich wähle die Zeit und er generiert das call file...auch dieses würde er problemlos zum richtigen Zeitpunkt ausführen, nur stimmt der channel nicht... wenn ich jedoch das Scripte versuche abzuändern, bekomme ich andauernd eine Fehlermeldung nach der Stunden eingabe.. ..auch wenn ich das script garnicht abändere, sondern nur
überschreibe....
wenn ich dann wieder das orginal drauflade, funktioniert alles wieder, bis auf den falschen channel...

Ich währe sehr froh, wenn das ein !?+* - Anfänger -Problem ist und jemand von Euch, mir eine Antwort geben könnte..

herzlichsten Dank,

toldap
 

wrrdlbrrmpft

Mitglied
Mitglied seit
17 Jul 2004
Beiträge
263
Punkte für Reaktionen
0
Punkte
0
Hi,

kannst du mal zeigen, wie das call file aussieht? Dann kann ich da bestimmt was machen.

Benno
 

toldap

Neuer User
Mitglied seit
9 Aug 2005
Beiträge
134
Punkte für Reaktionen
0
Punkte
0
Hi Benno,

so sieht das call file aus, welches erstellt wird;

Channel: IAX2/[email protected]/iaxnr
Callerid: "Weckruf" <3>
MaxRetries: 2
RetryTime: 60
WaitTime: 60
Context: weckruf
Extension: ***
Priority: 1

Der Channel wird je nach Phone, mit welchem man das agi ausführt, angepasst. Gerne würde ich jedoch einen fixen-channel definieren, und nur noch die callerid setzen. Wenn ich dieses File manuell abändere. bevor run_wakeups ausgeführt wird, funktioniert der weckruf.

Das Agi welches ich benutze, findest Du weiter unten.
Was mich jedoch verwundert ist,dass, wenn ich das script nicht abändere, sondern lediglich öffne und wieder abspeichere, bereits der Fehler (1) auftritt.

(1) Fehler: Wenn ich das agi anrufe, bekomme ich nach der Stundeneingabe den Fehler; "Leider haben Sie keine gültige nr. gewählt" und Hangup...(Natürlich ist die Nr.,welche eingegeben wird, gültig)

Ich verwende das Orginal-Agi von;
toldap[web:860e9ad42d]http://www.ip-phone-forum.de/forum/viewtopic.php?t=3899&postdays=0&postorder=asc&start=0[/web:860e9ad42d]

Da habe ich, so denke ich, ein Grundlegendes Problem mit dem ändern des agi-Script.

Herzlichen Dank für Deine Bemühungen,
 

wrrdlbrrmpft

Mitglied
Mitglied seit
17 Jul 2004
Beiträge
263
Punkte für Reaktionen
0
Punkte
0
Hi,

also damit wir nicht aneinander vorbeireden. Soweit ich das in Erinnerung habe, ist die callerid ziemlich unwichtig. Denn der caller ist in diesem Fall der Weckdienst. Und die callerid ist nur dazu da, dass in deinem Telefondisplay "Weckruf <Nr.>" angezeigt wird.
Wenn du mehrere Telefone benutzt, sieht der channel-Eintrag für jedes Telefon anders aus und kann daher nicht als Konstante definiert werden. Für ein einzelnes Telefon ginge das natürlich.
Der channel ist also der Eintrag, der gewählt wird, wie bei einem normalen dial-Kommando in extensions.conf. Wenn du mir sagst, mit welchem dial-Kommando deine Telefone klingeln, kann ich das Skript entsprechend anpassen.
Ich muss mich da auch erst wieder reinarbeiten. Aber wenn du etwas Geduld hast, bekommen wir das ganz bestimmt hin.
Was die Fehlermeldung betrifft, könnte ich mir das jetzt evtl. so erklären, dass Stunden oder Minuten nicht zweistellig eingegeben wurden, also für 5:00 h muss man 05 für Stunden und 00 für Minuten eingeben.

Benno
 

toldap

Neuer User
Mitglied seit
9 Aug 2005
Beiträge
134
Punkte für Reaktionen
0
Punkte
0
Also,
meine internen phones spreche ich mit;
SIP/sipuser,
IAX2/iaxuser,

Gerne würde ich aber den weckdienst vorallem von extern ansprechen, also über den
CAPI/contr1/$callerid
channel.
(Hier die Callerid desshalb, damit * erkennt, wer anruft, und so das richtige Ziel weckt, oder nicht?)

Nun müsste man doch das Script entsprechend anpassen..doch, selbst wenn ich keine modifikation vornehme, bekomme ich den Fehler (1).
Also das Problem mit den Stunden. Ich gebe die Ziffern richtig mit dem 0 ein, d.h. für 8:30 08 Stunden usw...Wenn ich das Orginal drauflade, funktioniert das ganze ja auch...mit dne gleichen Ziffern....

toldap
 

wrrdlbrrmpft

Mitglied
Mitglied seit
17 Jul 2004
Beiträge
263
Punkte für Reaktionen
0
Punkte
0
Also das Skript ist so angelegt, dass es genau das Telefon weckt, von dem aus angerufen wurde.
Das funktioniert jetzt so:

1. Du rufst das Skript an von CAPI/contr1/12345
2. Das Skript schreibt CAPI/contr1/12345 in den Channel-Eintrag
3. In den Callerid-Eintrag schreibt das Skript die Telefonnummer vom Weckdienst und nicht die, die vom Weckdienst angerufen werden soll. Die steckt ja schon in Channel.

Kannst du mir auch nochmal die entsprechenden Einträge aus extensions.conf posten?
 

toldap

Neuer User
Mitglied seit
9 Aug 2005
Beiträge
134
Punkte für Reaktionen
0
Punkte
0
Das Skript schreibt
Channel: CAPI/ISDN1/1234-4/1234561212
...was für meine config falsch ist...

So würde es funktionieren:
Channel: CAPI/contr1/1234561212

Um die Kosten zu senken, bestenfalls so etwas:
Channel: SIP/[email protected]

Die extensions.conf hab ich Momentan so:

[weckruf]
exten => ***,1,Answer
exten => ***,2,MP3Player(/var/lib/asterisk/mohmp3/fpm-calm-river.mp3)
exten => ***,3,Hangup

Danke,
toldap
 

wrrdlbrrmpft

Mitglied
Mitglied seit
17 Jul 2004
Beiträge
263
Punkte für Reaktionen
0
Punkte
0
Gut, hier kommt ein angepasstes wakeup.agi. Du musst noch die Dateiendung .txt in .agi ändern. Gib mir dann mal Rückmeldung, was das Skript macht! Ich habe den Eintrag sipcallout jetzt wörtlich genommen. Wenn das irgendwie anders heißt, kannst du die entsprechende Zeichenkette im Skript direkt editieren.

Was ist mit der Fehlermeldung (1)?

Benno

EDIT: Phantomskript wurde entfernt, siehe unten.
 

toldap

Neuer User
Mitglied seit
9 Aug 2005
Beiträge
134
Punkte für Reaktionen
0
Punkte
0
Leider bringt mir Dein Skript so (0 Bytes) nicht besonders viel...
sipcallout ist für meine config ok.

Fehlermeldung (1) erscheint nach wie vor, wenn ich das Skript
öffne und dann überschreibe...
 

toldap

Neuer User
Mitglied seit
9 Aug 2005
Beiträge
134
Punkte für Reaktionen
0
Punkte
0
Hi,
herzlichsten Dank, es funkt.!! :D
Nur,
Ich kann doch die Anzahl Wählversuche, bzw. die zeit die er
wählt, einstellen...Nur stösse ich da wieder an mein altes Problem, wenn
ich bspielsweise die
echo 'RetryTime: 60' oder die
echo 'WaitTime: 60'
auf jeweils 10 herunterschraube, kommt wieder Fehlermeldung (1).
Wie schon erwähnt, auch wenn ich garnichts ändere, nur das Skript überschreibe, kommt dieser Fehler.
Das ist komisch, oder?

:bahnhof:

Danke für deine Arbeit

toldap
 

wrrdlbrrmpft

Mitglied
Mitglied seit
17 Jul 2004
Beiträge
263
Punkte für Reaktionen
0
Punkte
0
Vielleicht macht dein Editor automatische Zeilenumbrüche, sodass die Datei nach dem Öffnen mit dem Editor fehlerhaft ist. Kann das der Grund sein? Du kannst mir ja mal die geänderte Datei zuschicken. Vielleicht seh ich da was.

Ansonsten viel Spaß mit dem Wecker!
Benno
 

toldap

Neuer User
Mitglied seit
9 Aug 2005
Beiträge
134
Punkte für Reaktionen
0
Punkte
0
Ja, das wars...
mit mc läuft alles wunderbar!

Herzlichsten Dank !!!
toldap
 

Zurzeit aktive Besucher

3CX

Statistik des Forums

Themen
235,006
Beiträge
2,054,491
Mitglieder
355,395
Neuestes Mitglied
kreutzfeldt