Example configuration: [default] 1000 => 1234,Example Mailbox,root@localhost,,tz=central [timezone] ; e.g. "received today at twelve-fifteen pee em" ; e.g. "received yesterday at seven-twenty-two ay em" ; e.g. "received monday, september twenty-second two thousand two ; at nine-fifty-seven ay em" central=US/Central|'vm-received' Q 'digits/at' IMp The timezone used is the system timezone; on many systems, it's located in /usr/share/zoneinfo. The exact location depends on your installation of glibc. I don't know of any Linux systems where timezones are stored elsewhere, though. In terms of the letters, I have taken the abbreviations from the man page for strftime(3). The implemented options are as follows: [Aa] Sunday - Saturday [Bbh] January - December [de] First - Thirtyfirst [Y] Two thousand three ( - 2020 ) [Il] Hour, in 12-hour format [H] Hour, in 24-hour format (oh prefix on hours < 10) [k] Hour, in 24-hour format (no oh prefix) [M] Minute [Pp] Ay-em or Pee-em [Q] Shorthand for "Today", "Yesterday", or ABdY [R] Shorthand for HM There is code in here so you can do variable substitution and (more importantly) code conditionals within voicemail.conf, in the code to specify what to say. There is currently only variable set, DIFF_DAY, which specifies how many days ago the voicemail was received. THIS CODE IS UNTESTED. Bug reports are welcome on this, though. If you do not use variables, this part of the code does not get executed, so you're fine if you don't use them. Of course, if you're using it and it works fine, I'd also like to know that, too. This code (other than the variable substitution/expressions) is IN PRODUCTION. Meaning, it's being used in a production environment on more than one machine (using the example above).