I have an IP04 embedded Linux/Asterisk 4port PBX (from Rowetel) that I've been working with. Prior to this morning, I had Asterisk 1.4.4 installed on it, but it now (as of about an hour ago) has Asterisk 1.4.21 installed.
I have a dialplan that, in part, reads exten = s,n,ExecIfTime(00:00-11:59,*,*,*?Playback,Majordomo/GoodMorning) exten = s,n,ExecIfTime(12:00-16:59,*,*,*?Playback,Majordomo/GoodAfternoon) exten = s,n,ExecIfTime(17:00-23:59,*,*,*?Playback,Majordomo/GoodEvening) /etc/TZ contains "EST5EDT". and Asterisk is started in an environment where the environment variable TZ has been set to the contents of /etc/TZ. System clock time is set to UTC. In Asterisk 1.4.4, the three ExecIfTime() application calls executed true consistant with the local time, as expressed in the TZ envvar. That is to say, at 11:00 EDT, the 1st ExecIfTime() would trigger true, and play back the "Good Morning" message, while at 13:00 EDT, the 1st ExecIfTime would trigger false, and the 2nd would trigger true, playing back the "Good Afternoon" message. Now, with no changes to system clock or TZ, and still exporting the TZ value prior to starting Asterisk, Asterisk 1.4.21 evaluates the first ExecIfTime false at 11:00 EDT, and the 2nd ExecIfTime true, and plays the "Good Afternoon" message. It appears that 1.4.21 is ignoring the timezone and using the system UTC clock. I cannot find any config file options to correct this behaviour. Can anyone suggest a way to (unobtrusively) get this version of Asterisk to use the TZ envvar for ExecIfTime() evaluation? Thanks -- Lew Pitcher "In Skills, We Trust" PGP public key available upon request
signature.asc
Description: This is a digitally signed message part.
