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

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to