[Gelöst] Asterisk Uhrzeit auf Raspberry Pi

tobas_sys

Neuer User
Mitglied seit
21 Mrz 2015
Beiträge
17
Punkte für Reaktionen
0
Punkte
1
Leute, ich bin vollkommen verwirrt. Ich habe Google und hier im Forum rauf und runter gesucht und nichts Vergleichbares gefunden.
Folgendes Problem habe ich:

Asterisk sagt mir die falsche Uhrzeit um exakt zwei Stunden nach aktueller Zeit an. Das heißt, er sagt mir UTC bzw. GMT Zeit an.

Die Systemzeit (Raspbian, "date") wird aber richtig angezeigt - ntpdate ist installiert und läuft korrekt.

In die Master.csv wird die Zeit auch korrekt eingetragen, weil ich in der cdr.conf usegmtime=no eingestellt habe.

Wenn ich aber die Zeitansage abhöre, wird mir die falsche Uhrzeit angesagt. Dann verwende ich noch von der Uhrzeit abhängige AB-Ansagen. Da muss ich in der extensions.conf auch die Uhrzeit um zwei Stunden falsch einstellen, damit die Ansage sich dann zur richtigen Zeit ändert.

Zur Erläuterung hier ein Schnipsel aus der extensions.conf
Code:
exten => 621,1,GotoIf(${BLACKLIST()}?black,1)
exten => 621,n,Dial(SIP/30&SIP/31,19,tr)        ; 19 sek klingeln, dann geht der AB dran
exten => 621,n,GoToIfTime(07:00-15:59,mon-fri,*,*,*?ansage1,621,1)
exten => 621,n,GoToIfTime(16:00-06:59,mon-fri,*,*,*?ansage2,621,1)
exten => 621,n,GoToIfTime(00:00-23:59,sat-sun,*,*,*?ansage2,621,1)
exten => 621,n,Hangup

Eigentlich beginnt unsere Arbeitszeit um 09.00 Uhr und endet um 18.00 Uhr.

Wie bringe ich nun diesem Teil von Asterisk die richtige Uhrzeit bei???
Ich bin inzwischen absolut ratlos.

Viele Grüße,
Thomas
 
Zuletzt bearbeitet:
Ich hab so ein Verhalten noch nie erlebt. Aber der GotoIfTime verträgt seit 1.6 auch die Angabe einer Timezone. Wär einen Versuch wert, das mal zu testen. In etwa so (auf die schnelle zusammenkopiert, den Pfad zu Deiner Zeitdefinitionsdatei müsstest verifizieren und ggf anpassen):

Code:
exten => 111,1,GotoIfTime(00:00:00-02:00:00,*,*,*,/usr/share/zoneinfo/Europe/Berlin?Context2,222,1)
 
Zuletzt bearbeitet:
Moin

Ich hab [demo-time] aus der extensions.conf etwas auf meine Bedürfnisse angepasst...
Code:
exten => time,1(twotimes),Set(FUTURETIME=$[${EPOCH} + 5])
exten => time,n,Wait(1)
exten => time,n,Playback(beep)
exten => time,n,SayUnixTime(${FUTURETIME},${timezone},HM)
exten => time,n(singletime),Set(FUTURETIME=$[${EPOCH} + 5])
exten => time,n,Wait(1)
exten => time,n,Playback(beep)
exten => time,n,SayUnixTime(${FUTURETIME},${timezone},HM)
exten => time,n,TrySystem(echo '${EXTEN}:${CALLERID(all)}' >> /var/log/asterisk/sas.log)
exten => time,n,Return()
...bei dieser Ansage stimmt die Zeit und ich kann anhand des Labels (twotimes, singletime) bestimmen ob 1x oder 2x angesagt wird.
 
Ok, vielen Dank schon einmal für die Tipps!

@IEEE
Dein Tipp hat funktioniert! Super, dann kann ich schon mal die richtigen Zeiten in die extensions.conf schreiben.
So sieht jetzt der entsprechende Teil aus:
Code:
exten => 621,1,GotoIf(${BLACKLIST()}?black,1)
exten => 621,n,Dial(SIP/30&SIP/31,19,tr)        ; 19 sek klingeln, dann geht der AB dran
exten => 621,n,GoToIfTime(09:00-17:59,mon-fri,*,*,/usr/share/zoneinfo/Europe/Berlin?ansage1,621,1)
exten => 621,n,GoToIfTime(18:00-08:59,mon-fri,*,*,/usr/share/zoneinfo/Europe/Berlin?ansage2,621,1)
exten => 621,n,GoToIfTime(00:00-23:59,sat-sun,*,*,/usr/share/zoneinfo/Europe/Berlin?ansage2,621,1)
exten => 621,n,Hangup



@koyaanisqatsi
Deinen Tipp durchblicke ich noch nicht so ganz und habe ihn noch nicht getestet. Werde ich aber ausprobieren. :)

Viele Grüße,
Thomas
 
Macht spaß. :mrgreen:
...besonders wenn morgens die Augen nicht aufgehen wollen. :silly:

Im selben Context wird die Zeitansage beispielsweise so angesprungen (bei Wahl von 100).
Code:
exten => 100,1,Gosub(time,twotimes)
exten => 100,n,Hangup
 
Sooo, es läuft!

Ich habe mich noch einmal kurz näher mit SayUnixTime() beschäftigt und diese Info gefunden:
http://das-asterisk-buch.de/1.6/applications-sayunixtime.html

Dann habe ich einfach mal den obigen Pfad zur Timezone eingetragen und schwupps - es läuft.
Ich bin in den Tagen meiner Suche gar nicht auf die Idee gekommen, man könnte die Timezone in die einzelnen Anweisungen mit einfügen. ;-)

Tolles Forum! Hier bleib ich. :)

Hier aber noch der Code-Schnipsel meiner Zeitansage:
Code:
[zeitansage]
exten => 99,1,Answer()
exten => 99,2,Wait(1)
exten => 99,3,SayUnixTime( ,/usr/share/zoneinfo/Europe/Berlin, a)
exten => 99,4,SayUnixTime( ,/usr/share/zoneinfo/Europe/Berlin, k)
exten => 99,5,Playback(oclock)
exten => 99,6,SayUnixTime( ,/usr/share/zoneinfo/Europe/Berlin, M)
exten => 99,7,Playback(vm-goodbye)
exten => 99,8,Hangup()


Viele Grüße,
Thomas
 
Zuletzt bearbeitet:

Statistik des Forums

Themen
246,109
Beiträge
2,246,275
Mitglieder
373,590
Neuestes Mitglied
dmobi
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.